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状态)