记一次Mysql半同步bug(Bug #89370)

记一次Mysql半同步bug(Bug #89370)

题外话

偶遇一次Mysql半同步比较少见的bug,mysql版本为5.7.21,架构为双主,启用了半同步semi-sync replication。

一、故障现象

Mysql双主实例的从节点重启后,主节点的操作未能及时同步到从节点,发生主从复制延迟

登陆从节点检查发现如下状态:(show slave status\G)

主从同步已开启,但是IO线程时而"Yes",时而"Connecting",检查主从复制用户也正常,感觉很纳闷。


登陆主节点检查有新的发现:(show processlist;)
在这里插入图片描述

一般show processlist很少见到waiting to finalize termination这个状态的,而且看上去是Binlog dump GTID这个步骤卡住了,第一个感觉是被阻塞了,但是确认后,此时是没有业务事务的。

二、故障处理

尝试重启主从同步

由于此时故障只表现为主从复制数据未同步,业务未受影响,故尝试重启主从复制:
stop slave;
start slave;
重启后,故障现象依旧。

查找Mysql官方资料
发现一个类似本次现象的bug文档:https://bugs.mysql.com/bug.php?id=89370
在这里插入图片描述

可以看到,这是一个偶发性的问题,隔了20分钟后,再看主从复制已经自动恢复正常。

三、总结

此次只是遇到了一个比较小的bug,但也提醒了大家,如果可以最好用Mysql官方的最新版本。(大版本的最后一个小版本,如5.7的5.7.30)

哎哟,不错噢! - - - - - - 欢迎指出有误的地方以及补充更好的方法

猜你喜欢

转载自blog.csdn.net/Tah_001/article/details/108321249