Redo 日志#

why?#


PS:体会一下 WAL 技术

好处、特点#

Redo 组成#
Redo Log Buffer#

Redo Log File#

日志路径:/var/lib/mysql/ib_logfile0
Redo 整体流程#
事务执行过程中,redo log buffer 是实时跟进写的

Redo 日志刷盘策略#


SHOW VARIABLES LIKE ‘innodb_flush_log_at_trx_commit’;
PS:从这里结合 Redis 的 AOF 日志刷盘策略, Redis 默认选择的是设置为 0。因此,MySQL 选择了一致性,抛弃了部分性能;Redis 平衡了性能,抛弃了部分一致性
innodb_flush_log_at_trx_commit = 1 时#
Mysql 默认的,也是最安全的,保证持久化,效率相对最低

innodb_flush_log_at_trx_commit = 0 时#


innodb_flush_log_at_trx_commit = 2 时#

测试 3 种情况的效率#

Redo log buffer#
Mini-Transaction 概念#

Redo 日志写入 log buffer#



Redo log block 结构图#


Redo log file#
相关参数#
SHOW VARIABLES LIKE ‘innodb_log_group_home_dir’;
SHOW VARIABLES LIKE ‘innodb_log_files_in_group’;
SHOW VARIABLES LIKE ‘innodb_log_file_size’;
日志文件组#

checkpoint#


小结#
