我改变了MySQL安装的datadir,并按照一些步骤,它工作正常。每个基地我都被正确移动,但一个。
我可以连接和使用数据库,即使SHOW TABLES返回我所有的表正确和每个表的文件存在于mysql数据目录。但是当我尝试在那里选择东西时,它说表不存在。但是表确实存在,它甚至在SHOW TABLES语句中显示!
我的猜测是,SHOW TABLES列出文件存在某种程度上,文件已损坏或类似的东西,但它不检查它。所以我可以列出他们,但不能访问他们。
但这只是一个猜测,我从来没有见过这个。现在无法重新启动数据库进行测试,每隔一个使用它的应用程序运行正常。
有人知道是什么吗?
例:
mysql> SHOW TABLES;
+-----------------------+
| Tables_in_database |
+-----------------------+
| TABLE_ONE |
| TABLE_TWO |
| TABLE_THREE |
+-----------------------+
mysql> SELECT * FROM TABLE_ONE;
ERROR 1146 (42S02): Table 'database.TABLE_ONE' doesn't exist