一文读懂 mysql 为什么要两阶段提交以及两阶段提交原理
文章目录
- 为什么要两阶段提交
- redo log与binlog两份日志之间的逻辑不一致,会出现什么问题?
- 两阶段提交是怎么保证逻辑一致的呢?
- 当 binlog 写完,redo log 还没 commit 前发生 crash,那崩溃恢复后 MySQL 如何处理?
- redo 与 binlog 的刷盘时机
-
- MySQL 的双 1 配置
- 能否只用 redo log 不要 binlog?
- Binlog 组提交机制
为什么要两阶段提交
在执行更新语句过程,会记录redo log与binlog两块日志,以基本的事务为单位,redo log在事务执行过程中可以不断写入,而binlog只有在提交事务时才写入,所以redo log与binlog的写入时机不一样。
为了解决两份日志之间的逻辑一致问题,InnoDB存储引擎使用