• 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