MySQL使用两阶段提交主要解决 binlog 和 InnoDB redo log 的数据一致性的问题.
两阶段提交简图:
两阶段提交原理描述:
阶段1:InnoDB redo log 写盘,InnoDB 事务进入 prepare 状态
阶段2:如果前面prepare成功,binlog 写盘,那么再继续将事务日志持久化到binlog,如果持久化成功,那么InnoDB
事务 则进入 commit 状态(实际是在redo log里面写上一个commit记录)
备注: 每个事务binlog的末尾,会记录一个 XID event,标志着事务是否提交成功,也就是说,recovery 过程中,binlog
最后一个 XID event 之后的内容都应该被 purge。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15498/viewspace-2557178/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/15498/viewspace-2557178/
本文深入探讨了MySQL中实现数据一致性的关键机制——两阶段提交。详细解释了两阶段提交如何通过InnoDB redolog和binlog确保事务的原子性和持久性,以及在恢复过程中的作用。
1251

被折叠的 条评论
为什么被折叠?



