MySQL中的重做日志(redo log),回滚日志(undo log),以及二进制日志(binlog)的作用及生成时机
MySQL中的重做日志(redo log),回滚日志(undo log),以及二进制日志(binlog)的简单总结_铁柱同学的博客-CSDN博客
1 生成时机
1.1 undo log
事务开始之前。
1.2 redo log
事务开始之后(由于事务两阶段提交的原因,redo log会在事务执行的过程中产生)
1.3 binlog
事务提交时。
2 作用
2.1 undo log
保存的是当前事务上一版本的数据,用于事务回滚数据、MVCC。
2.2 redo log
保存的是内存中修改的数据,用于数据库宕机后数据的恢复:事务已经提交,但数据还没有刷新到磁盘,这是数据库如果宕机,可以借助redo log来恢复数据。
2.3 binlog
保存的是事务提交之后的一系列SQL语句,用于主从复制、数据恢复