准备
主服务器Master_IP:192.168.42.28
从服务器Slave_IP:192.168.42.29
Mysql版本最好一致
uuid需要不同(如果是克隆需要更改uuid)
查看uuid
数据库中show variables like ‘%server_uuid%’;
文件中/var/lib/mysql/auto.cnf
更改就是更改配置文件 /var/lib/mysql/auto.cnf
更改配置文件/etc/my.cnf
主服务器:
[mysqld]
#开启二进制日志
log-bin=mysql-bin
#设置server-id,建议使用ip最后3位
server-id=28
(以上需要自己加入mysql的配置文件)
重启服务:systemctl restart mysqld.service
从服务器:
[mysqld]
#开启中继日志
relay-log=mysql-relay
#设置server-id,建议使用ip最后3位
server-id=29
(以上需要自己加入mysql的配置文件)
重启服务:systemctl restart mysqld.service
主服务器的数据库中
create user 'copy'@'%' identified with mysql_native_password by 'Nebula@123';
GRANT REPLICATION SLAVE ON *.* TO ‘copy'@‘%‘;
flush privileges;
--查询master的状态
show master status\G;
记录上图结果中File和Position的值。(后面需要用到)
从服务器的数据库中
Ip为主服务器的IP地址,用户为主从复制使用的用户,密码为copy用户的密码,之后为上面提到的文件和端口。
//开启复制 start slave; //关闭服务:stop slave;
//查看主从复制是否配置成功
SHOW SLAVE STATUS\G
如果出现Connecting to source(i/o占用)
使用STOP SLAVE IO_THREAD FOR CHANNEL '';
将其停止然后重新输入从服务器数据库中的所有操作。