场景:mysql无法执行select命令查询,对于已存在的数据库,除了mysql、information_schema数据库,其它诸如nova、keystone、cinder等数据库都有此现象。
日志报如下错误:
此时执行:
>create database db;
>create table person (id int,name varchar(25))
>use db;
>select * from person;
>drop database db;
是没有问题的。
查看官网:http://dev.mysql.com/doc/refman/5.6/en/innodb-troubleshooting-datadict.html
解释说这是由于InnoDB表与各个数据库的.frm文件信息不对称造成的。进入数据库查看
>use information_schema;
可以发现这张表没有与之对应的信息,因此报错。
问题找到了。