mysql - 损坏的 MySQL 表 - "Can' t 查找文件“错误;有什么方法可以恢复丢失的 .myd 和 .myi 文件?

标签 mysql phpmyadmin mysqldump myisam

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

mysqldump: Got error: 1017: Can't find file: 'wcsf_profile_portal_views' (errno: 2) when using LOCK TABLES

所以我继续看看出了什么问题。似乎其中一张 table 已损坏。我尝试使用修复,但我遇到了同样的错误:

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

我还找不到导致损坏的原因。有什么建议吗?

编辑:我不情愿地尝试通过旧备份恢复表格。没有骰子 - 显然,它已经损坏了一段时间,特别是这个数据库甚至从未备份过,因为它一直在失败。我从来没有注意到。楼。这就是您使用 WHM 得到的!幸运的是,这不是一张重要的 table 。它是 Invision Powered boards 的一部分,我想它会计算个人资料浏览量。我在本地进行了全新安装,并将表复制回实时数据库,进行了修复,现在它似乎可以正常工作了 - 我可以成功地 mysqldump 它,我想现在备份也可以正常工作。

我不认为这个问题得到了回答,因为我没有完全修复它(数据丢失)并且我没有找到导致损坏的原因。也许这是与 IPB 相关的特定问题。

最佳答案

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

启动MySQL,修复表。

我就是这样解决的。

对不起,我的英语一般。

关于mysql - 损坏的 MySQL 表 - "Can' t 查找文件“错误;有什么方法可以恢复丢失的 .myd 和 .myi 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9794271/

相关文章:

mysql - phpMyAdmin 显示受影响的行 = 0

mysqldump 在 crontab 中不起作用

MySQL:如何将一个数据库变为只读?

php - SQL - 复杂的 JOIN 查询

mysql - SQL:如何多次连接同一个表?

mysql - where 子句中带有子查询的 SQL Update 语句同一个表

带有创建数据库行的 mysqldump

mysql - 如何从今天开始选择行?

java - 如何使用Spring Boot查询并持久化MySQL数据库中的静态对象?

mysql - 为什么 MySQL LEFT JOIN 不返回所有行,除非有 WHERE 子句 - phpMyAdmin 问题