跳过正文
  1. 技术文档/
  2. MySQL/
  3. 高级/
  4. 日志/
  5. 事务日志/

Redo 日志

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
#

小结
#