MYSQL-InnoDB-重做日志
每个InnoDB存储引擎至少有一个重做日志文件组,每个文件组下至少有2个重做日志文件,如默认的ib_logfile0和ib_logfile1。可以设置多个重做日志文件组来提高重做日志的高可用性。每个重做日志文件组的重做日志文件大小一致,并以循环写入的方式进行,如图:
与二进制日志吧区别
重做日志结构
重做日志写入过程:
先写重做日志缓冲redo log buffer,以512字节(扇区大小)写入磁盘,如图:
重做日志缓冲写入磁盘的条件
- 主线程每秒将重做日志缓冲写入到重做日志文件,不论事务是否提交
- 参数innodb_flush_log_at_trx_commit,如图: