mysql 二阶段提交 binlog,redolog,undolog

网上看到很多 Mysql "内部的二阶段提交" 的好多文章,但在二阶段提交时为何总是只提到 redolog 和 binlog,很少提到 undolog ,只是轻描淡写地提到过 undolog也是事务commit之前需要写的。

那么在事务的具体执行过程中,undolog在二阶段提交过程中的哪一步呢?

还有就是事务commit之后,通常只介绍到 binlog落盘。但这只是日志落盘了啊,几乎都没有介绍数据什么时候落盘的?

阅读 1.7k
1 个回答

undolog跟redolog一样都是实时在写的,在mysql执行insert into a (id) values (1),同时就会向undolog里面写delete from a where id=1;
数据是根据checkpoint机制落盘的,触发checkpoint有几个条件,master thread每10秒将数据落盘,flush list使用率超过限制时落盘等等

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题