MySQL 的 redo log、undo log、binlog 各有什么作用?两阶段提交怎么保证一致?

一句话速记:undo log 记录逻辑逆向操作以支持事务原子性与 MVCC;redo log 记录物理页变更并基于 WAL 机制保障事务持久性;binlog 记录全量数据变更用于主从复制与数据归档。MySQL 两阶段提交将 redo log 分为 prepare 与 commit 阶段,以 binlog 写入成功为决断依据,通过统一的 XID 确保存储引擎层与 Server 层的数据一致性。

MySQL、日志

同章节的其他八股