MySQL 5.6.7或者更老的版本,如果想修改innodb日志文件的数量和大小,按照以下的步骤操作。
具体的过程取决于innodb_fast_shutdown的取值,innodb_fast_shutdown的取值决定了在shutdown的时候,system表空间的数据是否是最新的。
如果innodb_fast_shutdown没有设置成2:
1.停止mysql server,确保在关闭的过程中没有错误发生,以确保重做日志中没有未完成事务的信息
2.将老的redo日志文件拷贝到安全的地方,以防在关闭的时候发生什么错误,需要恢复表空间。
3.拷贝后,删除老的redo日志文件
4.编辑my.cnf文件修改redo日志文件配置
5.重新启动mysql server。mysql重新启动的时候,找不到redo日志文件,就会重新创建redo日志文件。
如果innodb_fast_shutdown=2,先将其设置成1,然后再按照上面的步骤执行:
mysql> SET GLOBAL innodb_fast_shutdown = 1;
从MySQL 5.6.8开始,innodb_fast_shutdown的取值就和修改redo日志的数量和文件大小无关了。
此外,你也不用再移除老的日志文件了,尽管你可能还是想将老的redo日志文件拷贝到安全的地方,作为一个备份。
修改redo文件的大小和数量按照以下的步骤执行:
1.关闭mysql server,确保没有错误发生
2.编辑my.cnf文件:innodb_log_file_size、innodb_log_files_in_group
3.重启mysql server
mysql检测到innodb_log_file_size和redo文件的大小不一样,就会写一个检查点,关闭和移除老的redo文件,创建新的redo文件并打开。