修改完/etc/my.cnf的配置一直没有重启,今天重启了一下,看似一切正常,但是却没法访问原有的数据表,出现类似的提示:
仔细查看mysql的错误日志文件,发现提示ib_logfile0文件大小设置不正确:
InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes
InnoDB: than specified in the .cnf file 0 268435456 bytes!
下面即时具体受影响的数据表信息。
显然mysql启动时会对比ib_logfileN和配置里设置的文件大小,可见是我更改innodb_log相关的配置导致的:
> innodb_log_file_size = 256M
> innodb_log_files_in_group = 3
< innodb_log_file_size = 5M
< innodb_log_files_in_group = 2
改回以前配置就没有问题了。
另外,把相应的ib_logfile删除了,启动时也可以再生成一份。
参考:
http://forums.mysql.com/read.php?22,181434,181701
http://sech.javaeye.com/blog/462740