该错误是MYSQL 5.6版本下的一个BUG。
虽然不会影响数据库的正常使用,但是它会不断生成错误日志,如果网站访问量比较大,可能短时间内就占满硬盘,导致各项服务出错。
产生该问题的原因是,在mysql 5.6版本下,新增了以下五个表。
innodb_index_stats,
innodb_tables_stats,
slave_master_info,
slave_relay_log_info,
slave_worker_info
这五个表的存储类型是innodb,而默认情况下数据库打开这五张表的方式是MyISAM。
解决方法:
mysql -uroot -p密码
登录到MYSQL后,先drop掉这五张表。
use mysql; drop table if exists innodb_index_stats; drop table if exists innodb_table_stats; drop table if exists slave_master_info; drop table if exists slave_relay_log_info; drop table if exists slave_worker_info; exit
然后停止mysql服务,再删除掉这五张表的.frm及.ibd文件(以下涉及的路径会因为MYSQL安装目录不同而不同),删除后再重新启动MYSQL。
本人使用的是AMH环境,因此执行以下命令。
amh mysql stop cd /usr/local/mysql/data/mysql rm -f innodb_index_stats* rm -f innodb_table_stats* rm -f slave_master_info* rm -f slave_relay_log_info* rm -f slave_worker_info* amh mysql start
然后从MYSQL官方下载该BUG的修复文件。http://bugs.mysql.com/file.php?id=19725
会得到一个叫 five-tables.sql的文件,登录phpmyadmin,将下载到的该修复文件,导入到”mysql”这个数据库中。
导入成功后,最后再次重启MYSQL或主机即可解决该问题。
amh mysql restart