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语句,用于主从复制、数据恢复


版权声明:本文为mameng1988原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。