https://www.nowcoder.com/share/jump/34126941718129993673

https://blog.csdn.net/qq_40872385/article/details/125903488

日志

redo log是物理日志,记录的是“在某个数据页上做了什么修改”; 数据物理位置层面的直接修改

binlog 是逻辑日志,记录的是这个语句的原始逻辑,比如“给ID=2这一行的c字段加1

undolog 回滚日志 , 存放了更新前的状态

txid (自增用于版本比较) + rollback id(指向上一次undolog位置 , 形成了一个链表, 用于mvcc) + rowid

写入顺序

redo、undo、binlog的生成流程

1、从磁盘读取到id=1的记录,放到内存。

2、记录undo log 日志。

3、记录redo log (预提交状态)

4、修改内存中的记录。

5、记录binlog

6、提交事务,写入redo log (commit状态)