• DML(8.0+ DDL)操作导致的页面变化,均需要记录Redo日志;
• 大部分为物理日志;
– when?
• 在页面修改完成之后,在脏页刷出磁盘之前,写入Redo日志;
• 日志先行,日志一定比数据页先写回磁盘(WAL);
• 聚簇索引/二级索引/Undo页面修改,均需要记录Redo日志;
1. 作用: 记录数据页的变化。实现“前进”的功能。WAL(write ahead log),MySQL保证redo优先于数据写入磁盘。
2. 存储位置: 数据路径下,进行轮序覆盖记录日志
ib_logfile0 48M
ib_logfile1 48M
3. 管理:
3.1 查询redo log文件配置
mysql> show variables like ‘%innodb_log_file%’;
+—————————————-+—————+
| Variable_name | Value |
+—————————————-+—————+
| innodb_log_file_size | 50331648 |
| innodb_log_files_in_group | 2 |
+—————————————-+—————+
3.2 设置
生产建议:
大小: 512M-4G ,组数: 2-4组
vim /etc/my.cnf
# 添加参数:
innodb_log_file_size=100M
innodb_log_files_in_group=3 #组
#重启生效
[root@db01 data]# /etc/init.d/mysqld restart
[root@db01 data]# ll /data/3306/data/ib_logfile*
-rw-r——- 1 mysql mysql 104857600 May 7 16:17 /data/3306/data/ib_logfile0
-rw-r——- 1 mysql mysql 104857600 May 7 16:17 /data/3306/data/ib_logfile1
-rw-r——- 1 mysql mysql 104857600 May 7 16:17 /data/3306/data/ib_logfile2
