1.mysql两阶段提交

两阶段提交流程

1
2
3
1.redolog标记为预提交状态
2.binlog写入
3.redolog标记为commit

解决的问题

前置知识

1
2
在innodb引擎中存在redolog,用于提供mysql崩溃恢复的能力(crash-safe)
server层中存在binlog,用于数据恢复、主从复制

需要做到

1
保证crash-safe后的数据和binlog恢复的数据一致

如果不存在两阶段时

1
2
3
4
1.if:先写redolog,后写binlog:
在crash-safe后恢复的数据可能比binlog恢复的数据多
2.if:先写binlog,后写redolog:
在数据恢复后的数据可能比crash-safe后恢复的数据多

crash-safe流程

1


1.mysql两阶段提交
https://roseflower.site/2026/08/23/mysql/1.mysql两阶段提交/
发布于
2026年8月23日
许可协议