mysql_更新一条语句_及日志操作

来自 极客时间 mysql章节


mysql更新涉及到两个日志redo log   binlog

mysql_更新一条语句_及日志操作

redo log概念理解

mysql_更新一条语句_及日志操作

mysql_更新一条语句_及日志操作

可以理解成环行链表 可重复使用   物理日志 某个数据页上做了什么修改

binlog

逻辑日志 语句的原始逻辑 追加的形式
 

问题

如果提交事务的时候正好重启那么redo log和binlog会怎么处理?
此时redo log处于prepare阶段,如果不接受这条log,但是binlog已经接受,
还是说binlog会去检查redo log的状态,状态为prepare的不会恢复?


Binlog如果已经接受那么redolog是prepare, binlog已经完整了对吧,这时候崩溃恢复过程会认可这个事务,提交掉。
(你可以分析下这种情况下,是否符合我们要达到的“用binlog恢复的库跟原库逻辑相同” 这个要求)