2013-10-27 126 views
2

幾天前,我的整個服務器決定崩潰。幸運的是,我設法從我的MySQL安裝中恢復數據文件夾。恢復損壞的表

糟糕的是,並不是所有的表格都像以前一樣工作。例如:我的用戶表是無用的,因爲它沒有任何結構,但只有其中的行(.frm和.ibd文件)。我想下面的查詢來解決此問題:

REPAIR TABLE users USE_FRM 

可悲的是,這說明我的錯誤「無法打開表」到現在我還沒有設法恢復此表。

如果有人能幫我解決這個問題,我會真的很感激它!

如果需要,我會很樂意分享ibd和frm文件。

+0

的可能重複[MySQL的InnoDB表損壞 - 如何解決(http://stackoverflow.com/questions/1348350/mysql-innodb-tables-corrupt-how-to-fix) – Joren

+0

緊隨其後的是自己的問題。 「爲什麼我不做備份?」真正的專業測試不會再犯這個錯誤。 –

+0

你說得對,從崩潰前一天起我沒有做過某種SQL備份,但從一週前只有一次,這是絕對愚蠢的。 – Yannick

回答

1

您可能對this一試:

Use the USE_FRM option only if you cannot use regular REPAIR modes! Telling the server to ignore the .MYI file makes important table metadata stored in the .MYI unavailable to the repair process, which can have deleterious consequences:[.....]

而且您可以嘗試從頭開始創建這樣的.MYI文件:

REPAIR TABLE tablename USE_FRM 

您還可以檢查這些引用:

+0

感謝您的快速回復。我試圖運行修復查詢,但這導致了以下錯誤:'表'用戶'不存在'。它看起來像MySQL甚至不知道該表在那裏,但它顯示在數據庫中存在的所有表的列表中。 – Yannick

+0

@Yannick: - 這有幫助: - http:// help .hardhathosting.com/question.php/123? –

+0

它一定是一個很好的解決方法,但我對所有這些都很新穎,所有這些命令和術語(VDS,SSH)對我來說都很模糊 - 如果我需要做一些對我無關緊要的事情研究所有這些事情,但另一種解決方案會更適合我! – Yannick

相關問題