送给大家一句话:
山再高,往上攀,总能登顶;路再长,走下去,定能到达。 ——《人民日报》
下面,我们一起来学习一下mysql的8.0版本的部署过程,一起学习;
MySQL 8.0是MySQL数据库管理系统的一个主要版本,它于2018年4月发布。MySQL是一个流行的开源关系型数据库管理系统,被广泛用于各种应用程序和网站。
MySQL 8.0引入了许多新功能和改进,以下是其中一些重要的特点:
1. 改进的性能:
MySQL 8.0通过优化查询执行计划、引入基于资源组的优先级调度和多线程复制等技术,提供了更好的性能和扩展性。
2. JSON支持:
MySQL 8.0引入了对JSON数据类型的全面支持,包括JSON文档的存储、索引和查询。这使得MySQL成为处理半结构化数据的更强大工具。
3. 增强的安全性:
MySQL 8.0引入了许多安全增强功能,包括密码策略、密码过期和密码复杂性要求。此外,它还支持基于角色的访问控制,使得管理和授权更加灵活和安全。
4. 事务性DDL:
MySQL 8.0引入了原子数据定义语言(DDL)语句的支持,这意味着DDL操作可以作为一个事务执行,可以回滚和提交。
5. InnoDB引擎改进:
MySQL 8.0对InnoDB存储引擎进行了多项改进,包括全文索引、空间数据类型、在线DDL和多版本并发控制等方面的增强。
6. Window函数:
MySQL 8.0引入了窗口函数的支持,使得在查询中进行排序、排名和分析等操作更加方便。
这些只是MySQL 8.0版本的一些亮点,还有其他许多功能和改进。MySQL 8.0在性能、安全性和功能方面都有很大的提升,为开发者和管理员提供了更好的数据库管理工具。
目录
一' 安装MySQL8.0
1·关闭防火墙及selinux
systemctl stop firewalld
setenforce 0
2·拉取MySQL包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz
3·解压
tar xvf mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz
4·创建数据存放目录
mkdir data
5·创建用户及用户组,修改权限
groupadd mysql
useradd -g mysql mysql
chown -R /usr/local/mysql-8.0
6·初始化MySQL
在/usr/local/mysq-8.0/bin下
./mysqld --user=mysql --basedir=/usr/local/mysql-8.0 --datadir=/usr/local/mysql-8.0/data/ --initialize
到这里会出现一串密码,记得拷贝出来存放起来
7·添加服务到系统
cp -a ./support-files/mysql.server /etc/init.d/mysql
增加执行权限
chmod +x /etc/init
chmod +x /etc/init.d/mysql
8·修改配置文件
在 /etc/my.cnf 下
[mysqld]
basedir=/usr/ocal/mysql-8.0
datadir=/usr/local/mysgl-8.0/
datasocket=/tmp/mysal.sock
character-set-server=UTF8MB4
9·启动MySQL
一般启动一次会有点异常
systemctl start mysql
执行后再执行
systenmctl restart mysql
再看状态
systemctl status mysql
确定没问题后执行后面操作
到这里安装就完成了需要我们进入到数据库中进行修改一下密码
10·修改密码
进入到数据库,使用到我们刚才拷贝的密码
mysql -uroot -p
密码********
进入后执行
①·alter user 'root'@'localhost identified with mysql native password by 'peng123 ..';
②· flush privileges;
③·use mysql
④·update user set host='%' where user=' root
⑤·flush privileges
二'主从配置
首先呢根据需求配置,确定master和slave,还有就是机器的数量
确定好之后,我们先在master端进行操作
先去改配置文件 (/etc/my.cnf)
master:
log-bin=mysql-bin
server-id=xxxslave:
server-id=xxx
1·清理缓存
reset slave;
2·查看节点信息
show master status\G
3·创建用户授权
①·CREATE USER slave''%' IDENTIFIED BY peng123..;
②·alter user 'slave'@%' identified with mysgl native password by 'peng123..';
③·grant all privileges on *,* to 'slave'@'%' with grant option;
④·flush privileges
slave操作
1·认真master节点
执行
\e
change master to
master_host=''192.168.78.182',
master_user='slave"master port=3306,
master_password='peng123 ..',
master_log_file='mysgl-bin.000001',
master_log_pos=156;
注释*
master_host : 主节点IP
master_user : 主从同步账户
master_port : 主节点mysql服务的端口号
master_password : 主从同步账户的密码
master_log_file : master节点获取的二进制文件名字
master_log_pos : master节点获取的Position值
2·启动slave,查看状态
start slave ;
show slave status\G
OVER!!!