首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >损坏的MySQL表-“找不到文件”错误;是否有方法恢复丢失的.myd和.myi文件?

损坏的MySQL表-“找不到文件”错误;是否有方法恢复丢失的.myd和.myi文件?
EN

Stack Overflow用户
提问于 2012-03-20 20:19:46
回答 2查看 9.8K关注 0票数 3

我是一个MySQL新闻,我正试图修复我的一个数据库中的一个损坏的表。这是一个简单的IPS论坛,目前在线。今天早些时候,我尝试执行一个mysqldump,并收到了以下错误:

代码语言:javascript
复制
mysqldump: Got error: 1017: Can't find file: 'wcsf_profile_portal_views' (errno: 2) when using LOCK TABLES

所以我去看看出了什么事。似乎其中一张桌子是腐败的。我试过使用修复,但我也得到了同样的错误:

代码语言:javascript
复制
mysql> REPAIR TABLE wcsf_profile_portal_views;
+-----------------------------------------------+--------+----------+---------------------------------------------------------+
| Table                                         | Op     | Msg_type | Msg_text                                                |
+-----------------------------------------------+--------+----------+---------------------------------------------------------+
| wecreate_finalforum.wcsf_profile_portal_views | repair | Error    | Can't find file: 'wcsf_profile_portal_views' (errno: 2) |
| wecreate_finalforum.wcsf_profile_portal_views | repair | status   | Operation failed                                        |
+-----------------------------------------------+--------+----------+---------------------------------------------------------+
2 rows in set (0.00 sec)

我查了一下,并在这里尝试了一些建议-- http://www.databasejournal.com/features/mysql/article.php/10897_3300511_2/Repairing-Database-Corruption-in-MySQL.htm

但到目前为止,mysqlcheckmyisamchk都没有进展。

值得注意的是,我使用的是MyISAM。我检查了数据库文件夹,它看起来缺少两个文件:wcsf_profile_portal_views.MYDwcsf_profile_portal_views.MYI.但是,文件wcsf_profile_portal_views.frm确实存在。因此,我尝试了REPAIR TABLE wcsf_profile_portal_views USE_FRM;,但又收到了Can't open table

我还找不到是什么导致了腐败。有什么建议吗?

编辑:我不情愿地尝试通过旧的备份恢复表。没有骰子--显然,它已经被损坏了一段时间,而且这个数据库甚至从来没有备份过,因为它一直在失败。我从来没注意到。Fml。这就是你使用WHM的好处!对我来说幸运的是,这不是一个重要的桌子。它是Invision动力板的一部分,我想它会计算个人资料的浏览量。我在本地做了一个新的安装,并将表复制回活动DB,修复了它,现在它似乎可以工作了--我可以成功地mysqldump它,我想现在备份也能工作。

我不会考虑这个问题的答案,因为我没有很好地修复它(数据丢失了),我也没有找到导致腐败的最初原因。也许这是与IPB相关的具体问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-31 15:32:20

.MYD文件包含表中的底层数据,.MYI文件是表中的索引。如果您丢失了数据,我看不出除了从某种备份中恢复之外,您还能如何恢复。

票数 1
EN

Stack Overflow用户

发布于 2020-02-12 16:58:05

如果文件"tablename.MYI“存在,请在文件夹"data/databaseName”中搜索。如果没有,请在另一个DB (或旧数据库)中获取相同的文件,并将其粘贴到文件夹中。

启动MySQL,并修复表。

我就是这么解决的。

对不起,我的英语太好了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9794271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档