今天对MySQL数据库进行了物理拷贝,遇到一个棘手的问题,MySQL能正常启动,不过打开数据表的时候,提示Unknow Table Engine InnoDB.
错误提示很明显是没有加载InnoDB。在网上找了一下,基本上有两种方法:
1:注释掉skip-innodb选项
2:删掉两个 ib_logfile* 文件
不过这两个方法都没用。我查看了MySQL的错误日志,发现有以下提示:
InnoDB: Error: log file ./ib_logfile0 is of different size 0 25165824 bytes
InnoDB: than specified in the .cnf file 0 5242880 bytes!
原来我拷贝过去的log文件最大是24MB,而MySQL默认的配置是5MB,这两个数值不统一,导致了InnoDB启动时出现了错误。
解决方法:修改MySQL的配置: innodb_log_file_size = 24M 。其中24M对应的就是你的logfile的大小。
Ferris Xu
2011-04-05