数据库表显示在列表中,但系统告诉我它们不存在

时间:2014-03-16 19:37:43

标签: mysql phpmyadmin workbench

我通过Workbench和phpMyadmin在Windows / XAMPP中使用MySQL。创建了10个数据库,我仍然在两个程序中都看到它们。我能够使用它们好几周,但今天,其中一半给出了“错误代码1146 - 表不存在”。

在Workbench中,当我执行“SHOW DATABASES”时和“在xxxDB中显示表格”,他们给出了预期的结果。但是当我执行“SELECT * FROM xxxx;”时,它给了我1146错误。

在phpMyAdmin中,我也看到了db和表,但是当我点击表格时,我得到了同样的错误。

我注意到那些可以使用.frm和.ibd文件。问题是缺少.ibd文件。

这里可能会发生什么以及它是如何发生的?

提前致谢。

1 个答案:

答案 0 :(得分:1)

我担心您的数据库可能已损坏。

您是否尝试过mysqlcheck -u mysql_username -p database_name

(我相信它在Windows上的默认位置是C:\Program Files\ApacheFriends.org\xampp\mysql\bin\mysqlcheck.exe

如果仍然会给你同样的错误,我很担心除了恢复备份之外别无他法。

数据库可能因多种原因而变得腐败,即。当系统正在写入时系统关闭,崩溃或断电。

祝你好运!