mysql redo log

2022-03-15  本文已影响0人  frankie_cheung

redo log 是什么

redo log 是mysql innodb引擎下的一种物理日志,记录数据页的修改记录。
redo log 的作用主要是

redo log 刷新策略

show engine innodb status
可以看的如下信息

Log sequence number 2830566 日志序列号值
Log flushed up to   2830566 redo 刷新到磁盘的值
Pages flushed up to 2830566 下次做checkpoint 的值
Last checkpoint at  2830557 checkpoint的值,这个值之前的代表已经刷新到ibd文件,不需要检查,这个值之后的才需要进行崩溃恢复
0 pending log flushes, 0 pending chkp writes
97 log i/o's done, 0.00 log i/o's/second
innodb_flush_log_at_trx_commit 含义
0 从redo log buffer 每秒刷新到磁盘
1 commit后就刷新到磁盘
2 commit后只刷新到文件系统缓冲里

redo log 配置

redo log 可以通过innodb_log_files_in_group 来配置为多个
innodb_log_file_size 来表示redo log的大小
例如如下
innodb_log_files_in_group =16
innodb_log_file_size =256M

innodb_log_buffer_size =64M

log block

redo log 在buffer和磁盘都是按照512字节进行存贮的,磁盘扇区也是512字节,所以buffer的 log block 刷新到磁盘是原子的。不需要doublewrite

上一篇下一篇

猜你喜欢

热点阅读