我试着在数据库上做普通的选择,比如select * from xxx limit 0,30。
但我得到的信息是:ERROR 29 (HY000): File 'tablename.MYD' not found (Errcode: 13)
我尝试搜索mysql数据文件文件夹中的文件,但我找到了它。这怎么会发生。
发布于 2011-06-09 15:18:11
你能使用像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
发布于 2011-06-09 15:19:58
该表似乎已损坏或丢失了.MYD文件。
如果表损坏,请尝试修复它可能会恢复文件-请参阅:http://dev.mysql.com/doc/refman/5.0/en/repair-table.html
修复表表名
发布于 2011-06-09 15:38:07
作为一个小机会,您是否在select中使用了与create语句不同的大小写名称。
select * from banana;在区分大小写的文件系统(即linux)上的不同于:
select * from BANANA;有一个mysql.cnf选项可以关闭此功能。
https://stackoverflow.com/questions/6289310
复制相似问题