我是一個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
但到目前爲止,與mysqlcheck
或myisamchk
沒有運氣。
重要的是要記下我正在使用MyISAM。我檢查了數據庫文件夾,它出現兩個文件丟失:wcsf_profile_portal_views.MYD和wcsf_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相關的特定問題。