---------------------------------- 2015-02-10----------------------------------
innodb redo log (重做日志)工作方式
innodb引擎首先将重做日志放入缓冲innodb缓冲池中.然后按照一定的频率将其刷新到重做日志文件.一般情况下master thread每秒钟会将缓存刷新到日志文件, 所以重做日志缓冲区不用设置的很大. 默认为8M.
使用查看环境变量 innodb_log_buffer_size 可查看该值
mysql> show variables like 'innodb_log_buffer_size'; +------------------------+---------+ | Variable_name | Value | +------------------------+---------+ | innodb_log_buffer_size | 8388608 | +------------------------+---------+ 1 row in set (0.00 sec)
重做日志缓存在下列三种情况下会将缓存中的内容刷新到磁盘中的日志文件中. (可以通过innodb_flush_log_at_trx_commit 参数设定)
一 . master thread 每一秒将重做日志缓存刷新到重做日志文件.
二 . 事物提交(sql执行,非commit)
三. 当缓冲池剩余空间小于 1/2 时.
---------------------------------- 2015-02-10----------------------------------