欢迎光临
我们一直在努力

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


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。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。