因为从库是通过binlog来复制同步主库数据的,万一redolog和binlog数据不一致怎么办,redolog更新主库。实际上可以通过二阶段提交来保证redo log和binlog的数据是一致的。
阶段1:InnoDB redo log 写盘,InnoDB 事务进入 prepare 状态
阶段2:binlog 写盘,InooDB 事务进入 commit 状态
每个事务binlog的末尾,会记录一个 XID event,标志着事务是否提交成功,也就是说,恢复过程中,binlog 最后一个 XID event 之后的内容都应该被 purge。
当binlog没有正常关闭,那可能就是mysql server挂了,那就找到最后一个合法的event,删除后面无效的binlog.
mysql主从同步保证数据一致性
最新推荐文章于 2025-03-02 13:39:34 发布