本文共 331 字,大约阅读时间需要 1 分钟。
undo-log:实现事务的原子性(记录数据变更前的记录,用于回滚没有提交的事务)
redo-log:实现事务的持久性,和undo log相反,redo log记录的是发生新的修改的数据。恢复时可以根据redo log的内容,将所有数据恢复到最新的状态.
mysql是按照日志先行的原则,checkpoint是为了加快crash恢复速度,checkpoint标记数据落盘到哪个位置了,对于checkpoint之前的部份,不需要再用redo log恢复,因为数据已经落盘了,只需要checkpoint点之后的部份。prepare状态之前的事务,会直接回滚,prepare状态的事务,如果binlog已经落盘,则重新提交,否则回滚(如果不回滚会造成主从数据不一致)!
转载地址:http://mdnsi.baihongyu.com/