联系:手机/微信(+86 17813235971) QQ(107644445)
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
在某些情况下,需要修改MySQL的ib_logfile大小和组数(类似oracle redo),以下演示在MySQL 8.0修改ib_logfile大小和组数操作
查看当前ib_logfile情况
mysql> select version(); +-----------+ | version() | +-----------+ | 8.0.21 | +-----------+ 1 row in set (0.00 sec) mysql> show variables like '%innodb_log_file%'; +---------------------------+-----------+ | Variable_name | Value | +---------------------------+-----------+ | innodb_log_file_size | 134217728 | | innodb_log_files_in_group | 2 | +---------------------------+-----------+ 2 rows in set, 1 warning (0.00 sec) mysql> show variables like '%innodb_log_group_home_dir%'; +---------------------------+-------+ | Variable_name | Value | +---------------------------+-------+ | innodb_log_group_home_dir | .\ | +---------------------------+-------+ 1 row in set, 1 warning (0.00 sec) mysql> show variables like '%datadir%'; +---------------+---------------+ | Variable_name | Value | +---------------+---------------+ | datadir | E:\MySQL\8.0\ | +---------------+---------------+ 1 row in set, 1 warning (0.00 sec) C:\Users\XFF>dir E:\MySQL\8.0\ib_log* 驱动器 E 中的卷是 SSD 卷的序列号是 98A5-7F8E E:\MySQL\8.0 的目录 2022-07-16 14:14 134,217,728 ib_logfile0 2022-07-03 17:30 134,217,728 ib_logfile1 2 个文件 268,435,456 字节 0 个目录 807,501,471,744 可用字节
当前ib_logfile成员为2个,每个128M,后续计划修改为成为3个,每个256M
修改my.ini参数
innodb_log_files_in_group=3 innodb_log_file_size=256M
重启mysql服务
C:\Users\XFF>dir E:\MySQL\8.0\ib_log* 驱动器 E 中的卷是 SSD 卷的序列号是 98A5-7F8E E:\MySQL\8.0 的目录 2022-07-16 14:19 268,435,456 ib_logfile0 2022-07-16 14:19 268,435,456 ib_logfile1 2022-07-16 14:19 268,435,456 ib_logfile2 3 个文件 805,306,368 字节 0 个目录 806,964,072,448 可用字节 mysql> show variables like '%innodb_log_file%'; +---------------------------+-----------+ | Variable_name | Value | +---------------------------+-----------+ | innodb_log_file_size | 268435456 | | innodb_log_files_in_group | 3 | +---------------------------+-----------+ 2 rows in set, 1 warning (0.00 sec)
在8.0版本中直接修改成功,如果是以前MySQL版本,修改过程可能遭遇InnoDB: Error: log file ./ib_logfile0 is of different size 0 268435456 bytes错误,类似这样的需要删除ib_logfile文件,启动MySQL服务重新生成ib_logfile文件(在8.0版本中直接自动删除并重建)