叶明
2024-11-08
来自江苏
当 sync_binlog != 1 时,source 上的 sync binlog 操作可能并没有使 binlog 落盘,如果没有落盘,那么在 engine commit 前,source 掉电,然后恢复,那么这个事务会被回滚(处于 prepare 状态,但没完整的 binlog),但是 replica 可能已经收到该事务并执行,这个时候就会出现 Slave 比 Master 多的情况。 可参考 http://mysql.taobao.org/monthly/2017/04/01/
作者回复: 👍👍