我通过Workbench和phpMyadmin在Windows / XAMPP中使用MySQL。创建了10个数据库,我仍然在两个程序中都看到它们。我能够使用它们好几周,但今天,其中一半给出了“错误代码1146 - 表不存在”。
在Workbench中,当我执行“SHOW DATABASES”时和“在xxxDB中显示表格”,他们给出了预期的结果。但是当我执行“SELECT * FROM xxxx;”时,它给了我1146错误。
在phpMyAdmin中,我也看到了db和表,但是当我点击表格时,我得到了同样的错误。
我注意到那些可以使用.frm和.ibd文件。问题是缺少.ibd文件。
这里可能会发生什么以及它是如何发生的?
提前致谢。
答案 0 :(得分:1)
我担心您的数据库可能已损坏。
您是否尝试过mysqlcheck -u mysql_username -p database_name
?
(我相信它在Windows上的默认位置是C:\Program Files\ApacheFriends.org\xampp\mysql\bin\mysqlcheck.exe
)
如果仍然会给你同样的错误,我很担心除了恢复备份之外别无他法。
数据库可能因多种原因而变得腐败,即。当系统正在写入时系统关闭,崩溃或断电。
祝你好运!