问题
今天搭建MySQL的主从复制,查看从机状态时show slave status\G,发现这个参数为NO,导致主从复制失败。
Slave_SQL_Running: No
后面上网查阅了一下资料,大概就是因为在连接支持数据库后,也就是这个命令后,主数据库的binlog日志的偏移量改变了,不再是当时初始化的那个master_log_pos=154,导致后面的binlog日志交互就会有问题,sql就会执行失败,导致结果为No。
change master to master_host='192.168.137.100',master_user='slave',master_password='Csdn@123',master_log_file='localhost-bin.000002',master_log_pos=154;
解决方案
既然知道了原因,那就好解决了
首先主机数据库需要停止写操作,这个没有命令执行,只能人为的先控制一下。
然后在使用命令查看主数据库的状态
show master status;
记录结果
然后到slave服务器上执行手动同步:
重新执行change命令,对应上一步查出来的相关信息
change master to master_host='192.168.137.100',master_user='slave',master_password='Csdn@123',master_log_file='binlog.000006',master_log_pos=155;
最后再重新启动主从复制
start slave;
查看状态就好了
show slave status\G;