一、背景

redo log 可以叫作重做日志。主要作用是数据库崩溃后的恢复。
崩溃恢复是“载入状态”而非“执行补偿”,类似于载入存档。
直接应用物理修改,不再经过 sql 解析和各种检查。 为什么“不执行:SQL 解析、索引查找、触发器、外键检查等”呢?是因为生成的各种 log 就是经过的这个阶段的产物。

二、恢复决策

在理想情况下:redo log(COMMIT) 时,binlog 一定已经落盘。
当 redo log 和 binlog 状态矛盾时,以 redo log 为准。宁可主从不一致,也不能丢失已提交的数据。