MySQL两阶段提交过程原理简述

MySQL使用两阶段提交主要解决 binlog 和 InnoDB redo log 的数据一致性的问题.


两阶段提交简图:

MySQL两阶段提交过程原理简述_第1张图片


两阶段提交原理描述:

阶段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两阶段提交过程原理简述)