Linux安装好MySQL的基础上(前提条件)
主服务器节点
1.修改文件
vi /etc/my.cnf
增加以下内容
server_id=177 ###服务器id 习惯 id以虚拟机ip地址最后一位数字
log-bin=mysql-bin ###开启日志文件
2.重启mysql服务
service mysql restart
3.连接数据库
验证是否已经配置成功
show variables like '%server_id%';
能够查询对应配置文件中的server_id 说明已经配置成功
show master status;
能够看到同步的文件,和行数 说明已经配置成功。
从服务器节点
直接克隆主服务器(克隆虚拟机)
4.修改文件
vi /etc/my.cnf
server_id=178 ###从服务器server_id
log-bin=mysql-bin ###日志文件同步方式
binlog_do_db=test ###同步数据库
5.重启mysql服务
service mysql restart
6.连接数据库
验证是否已经配置成功
show variables like '%server_id%';
能够查询对应配置文件中的server_id 说明已经配置成功
从服务器同步主服务器配置
master_log_file和master_log_pos可以通过步骤3命令查看
change master to master_host='192.168.212.200'(主ip地址),master_user='root',master_password='root',
master_log_file='mysql-bin.000002',master_log_pos=216;
7.开始同步
start slave
8.检查从服务器复制功能状态
SHOW SLAVE STATUS
查看结果
此时Slave_I/O_Running 结果显示为 No
Last_IO_Error 结果
Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.
解决办法
因为服务器克隆的时候交UUID产生了重复 ,解决办法
查看主从服务器的server-uuid
cat /etc/my.cnf
主从服务器server-uuid一致
cd /var/lib/mysql
删除从服务器的auto.cnf
rm -rf auto.cnf
重启服务器即可
service mysql restart