MySQL redo log和undo log作用

Introduction

InnoDB有两种非常重要的日志:

  • undo log:用来保证事务的原子性以及InnoDB的MVCC。
  • redo log:用来保证事务的持久性。

InnoDB日志组的特性已经被废弃(redo日志写多份),归档日志(InnoDB archive log)特性也在5.7被彻底移除

redo log

当数据库对数据做修改的时候,需要把数据页从磁盘读到buffer pool中,然后在buffer pool中进行修改,那么这个时候buffer pool中的数据页就与磁盘上的数据页内容不一致,称buffer pool的数据页为dirty page脏数据。


Reference

http://mysql.taobao.org/monthly/2015/05/01/
http://www.cnblogs.com/wy123/p/8365234.html