1、mysql主从同步异常查询
在Slave节点上查看
mysql> show slave status\G
Slave_IO_Running: Yes
Slave_SQL_Running: No
Seconds_Bebind_Master: 5
Slave_SQL_Running 值为 NO,或 Seconds_Bebind_Master 值不为 Null可见是Slave不同步
2、解决方法
1、常见的应对方法是先把从库下线,然后找个半夜三更的时间把应用停掉,重新执行同步(针对数据库量小)
重新做主从,完全同步
该方法适用于主从库数据相差较大,或者要求数据完全统一的情况
2、原因:
1. 程序有可能在 slave 上进行了写操作
2. 也有可能是 slave 机器重启后,事务回滚造成的
解决方法一:
忽略错误后,继续同步
该方法适用于主从库数据相差不大,或者要求数据可以不完全统一的情况,数据要求不严格的情况
msyql> stop slave;
#表示跳过一步错误,后面的数字可变
msyql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
msyql> start slave;
解决方法二:
msyql> stop slave;
#查看主服务器上当前的 bin-log 日志名和偏移量
msyql> show master status;
#获取到如下内容:
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000005 | 286 | | |
+------------------+----------+--------------+------------------+
#然后到从服务器上执行手动同步
msyql> change master to
->master_host="192.168.10.1",
->master_user="user",
->master_password="123456",
->master_post=3306,
->master_log_file="mysql-bin.000005",
->master_log_pos=286;
msyql> start slave;
参考主从不同步问题处理https://www.cnblogs.com/lubing666666/p/4386833.html