![数据库表存在,但 MYSQL 说不存在](https://linux22.com/image/1412620/%E6%95%B0%E6%8D%AE%E5%BA%93%E8%A1%A8%E5%AD%98%E5%9C%A8%EF%BC%8C%E4%BD%86%20MYSQL%20%E8%AF%B4%E4%B8%8D%E5%AD%98%E5%9C%A8.png)
当我登录 MySQL 并显示表时,我会看到表的列表。但是,当我对其中任何一个运行查询时,我收到以下消息:
错误 1146 (42S02):表“dbname.tablename”不存在
如果我对其中任何一个运行 CHECK TABLE,我会得到:
+------------------+-------+----------+---------------------------------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+------------------+-------+----------+---------------------------------------------------------------------+
| dbname.tablename | check | Warning | InnoDB: Tablespace is missing for table 'dbname/tablename' |
| dbname.tablename | check | Error | Table 'dbname.tablename' doesn't exist |
| dbname.tablename | check | status | Operation failed |
+------------------+-------+----------+---------------------------------------------------------------------+
在我的 /usr/local/mysql/data 目录中,我可以看到我的数据库目录包含.ibd
每个表的源文件和文件。从它们的大小来看,它们似乎包含大量数据。
请原谅我问了一个之前有人问过的问题。我环顾四周,发现有类似的问题与移动或删除文件有关。我都没做过。我能想到的唯一发生的事情是关闭电源后重启,而没有完全关闭任何东西。
我在 Mac OS X 10.8.5 上运行 MYSQL 社区服务器 5.6.17。
巧合的是,我注意到一件奇怪的事情:我的 OS X 终端显示 unknowne4ce8f1e830c 作为我的主机名,而它曾经显示我的计算机名称。我想知道是不是某个路径出了问题。但这只是菜鸟的猜测,而且我很少使用终端。因此,它们很可能是两个不同的问题。
感谢您的帮助。
答案1
我解决了这个问题。我不太清楚原因。但是,问题肯定已经消失了。
主机名问题只是个幌子。一旦我转移到另一个网络,它就会改变。看来我停止和启动 mysql 的尝试没有奏效。我意识到,在得到以下信息后:
2014-06-18 12:17:39 39973 [注意] mysqld: 关闭完成
并检查 ps aux | grep mysql
它没有关闭。一旦我成功重启,问题就消失了。我不确定最初是什么原因造成的。但是,现在这不是问题了。
抱歉打扰你了。