2012-03-20 36 views
3

我是一個MySQL新手,我試圖修復我的數據庫中的一個損壞的表。這是一個簡單的IPS論壇,目前在線。今天早些時候,我試圖執行一個mysqldump,並收到此錯誤:損壞的MySQL表 - 「無法找到文件」錯誤;任何方式來恢復丟失的.myd和.myi文件?

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

所以我繼續看看什麼是錯的。看起來其中一個表是腐敗的。我嘗試使用修復,但我得到了同樣的錯誤:

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 Powered板的一部分,我認爲它計算剖面視圖。我在本地進行了一次安裝,並將表格複製回到實時數據庫,並進行了修復,現在似乎可以工作 - 我可以成功地將其mysqldump,我想現在備份也可以工作。

我不認爲這個問題的答案,因爲我沒有完全修復它(數據丟失),我沒有找到什麼導致腐敗開始。也許這是與IPB相關的特定問題。

回答

1

.MYD文件包含表中的基礎數據,.MYI文件是表中的索引。如果您丟失了數據,我不會看到您可以從某種備份中恢復數據。

相關問題