我确实更改了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