我尝试在数据库上进行正常选择,例如select * from xxx limit 0,30
。
但我收到此消息:ERROR 29 (HY000): File 'tablename.MYD' not found (Errcode: 13)
我尝试在mysql datafile文件夹中搜索文件,然后找到它。怎么会发生这种情况。
答案 0 :(得分:1)
您可以使用像PhpMyAdmin这样的工具访问数据库吗?
根据这个site,完整修复应该解决它:
mysqlcheck --all-databases --auto-repair -ucojjohealth -p
如果这不能解决它:
以上命令修复 大多数情况下数据库损坏, 有可能得到一个 此命令后出现新的错误消息:
错误:文件'../diaendomet/users.MYD' 没找到(错误代码:2)
如果遇到上述错误 消息,然后你的数据库已经 腐败严重。修理你的 数据库在这种情况下,你会 需要使用第三方MySQL数据库 恢复工具。 MySQL恢复 公用事业提供先进,完整, 和无风险的数据库修复 修复损坏的MySQL的应用程序 数据库同时保持 数据的完整性。这些工具使用 高端扫描机制 全面修复损坏的 MySQL数据库。随着点 文档,工具充当 不言自明,以修复为中心 工具。
了解更多: http://www.articlesnatch.com/Article/Resolving-Error-29-In-Mysql-Database/788529#ixzz1OlEpu62A
答案 1 :(得分:0)
看起来该表已损坏或丢失.MYD文件。
尝试修复表格如果损坏可以带回文件 - 请参阅:http://dev.mysql.com/doc/refman/5.0/en/repair-table.html
修复表tablename
答案 2 :(得分:0)
外部机会,您是否在select
声明的create
中使用了不同的名称。
select * from banana;
区分大小写的文件系统(即linux)的与:
不同select * from BANANA;
有一个mysql.cnf
选项会将其关闭。