!!!Linux下Mysql主从复制时,数据不一致的处理办法(mysql版本:mysql-5.7.24)——SQL线程异常

续我上篇的博文:https://mp.csdn.net/postedit/87894362

1.在主库和从库上准备数据

从库上操作:

[root@server2 mysql]# mysql -pXinjiaojiao+623
mysql> use westos;
mysql> update usertb set password='456' where username='user1';

查看主库usetb表上数据:

查看从库usertb表数据:

2.模拟数据不一致报错

删除主库上id=3的数据:

[root@server1 mysql]# mysql -pXinjiaojiao+523
mysql> use westos;
mysql> delete from usertb where username='user1';

  

查看主库usetb表上数据:

查看从库usertb表数据:

从库usertb表上数据没有发生变化,这是什么原因?

查看从库状态:

可以看到,从库上的slave_io线程还在工作,但是执行从库更新的slave_sql已经罢工了。从Last_error:可以看到因为主库执行delete操作,而从库找不到要删除的内容。

3.问题分析:

上面发现问题如下:

a.从库数据没有同步
b.从库SQL线程状态为no
c.从库SQL线程报错

4.问题处理:

从库上执行如下操作:

[root@server2 mysql]# mysql -uroot -pXinjiaojiao+623
mysql> set global sql_slave_skip_counter=1;      #跳过当前卡住的event,然后重新起来干活
mysql> start slave;

此时再次查看从库的状态:发现已经恢复正常

再手工删除从库上usertb表username='user1'的记录:

[root@server2 mysql]# mysql -uroot -pXinjiaojiao+623
mysql> use westos;
mysql> delete from usertb where username='user1';

最后查看从库test表的记录,已与主库记录保持一致:


猜你喜欢

转载自blog.csdn.net/qq_42303254/article/details/88204220