mysql8 是和之前的版本配置mysql有所不同,这里做一个详细的主从复制的配置说明
1.主库的配置
第一步:修改Mysq1数据库的配置文件(RPM安装)
vi /etc/my.cnf
加多下面两句代码如下(我这里是从库的示例,主库也是一样的):
log-bin=mysql-bin #[必须]启用二进制日志,数据间复制必不可少
server-id=100 #[必须]服务器唯一ID
第二步:重启Mysql服务 systemctl restart mysqld
第三步:登录Mysql数据库 mysql -uroot -p+数据库密码 之后进行创建授权用户
//mysql8授权用户需要先创建,创建和授权同一条语句的话会报错
CREATE USER 'jasonz'@'%' identified by 'Root@123';
//再授权
GRANT ALL PRIVILEGES ON *.* TO 'jasonz'@'%'WITH GRANT OPTION;
//刷新
flush privileges;
第四步:查看主库状态 show master status,并记录file以及position的值
不要有多余的操作,如果在show之后进行其他操作会改变position的值
2.从库的配置
第一步:修改Mysq1数据库的配置文件
vi /etc/my.cnf
server-id=101 #[必须]服务器唯一ID
第二步:重启Mysql服务 systemctl restart mysqld
第三步:登录Mysql数据库,并进行从库的设置
//执行前先停下slave
stop slave;
//host是主库的ip,user是前面创建的jasonz用户,file和pos是主库show master status的信息
//最关键的是最后的get_master_public_key=1 设置加密方式,不设置就会出现IO一直connecting的情况
change master to master_host='192.168.136.129',master_user='jasonz',master_password='Root@123',master_log_file='mysql-bin.000001',master_log_pos=1035 ,get_master_public_key=1;
//执行后启动slave
start slave;
//最后查看从库是否配置成功
show slave status\G;
都为yes即为成功
连接navicate进行测试,主库创建test数据库,刷新从库,生效即成功