MYISAM表的.frm、MYI損壞,丟失的修復方法


.frm文件損壞或丟失的恢復

由於frm文件保存着表結構信息,因此當該文件損壞時候,將無法讀取改表中的文件,通過以下步驟可以恢復


step1:將存有數據的MYI和MYD文件保存到其他地方

step2:在數據庫裏重建同命名的表,結構也要一樣。 (要保證和以前表結構,存儲引擎,數據類型等保持一致)

step3:將MYI和MYD文件拷貝回來

step4:登陸數據庫,並執行repair table tablename;

step5:檢查恢復結構 

(1,mv t2.MYI t2.MYD /root/test1

  2, >create table t2 (id  int

     >)engine=myisam;

   3,mv t2.MYI t2.MYD /usr/local/mysql/data

   4,>repair table t2;

   5,>desc t2;

   6,>select * from t2;



如果忘記了表的結構,而且損壞,可以通過以下方法恢復表結構,恢復表索引


step1:將.frm  文件拷貝的數據庫目錄中、

step2:創建兩個空文件,對應MYD,MYI文件

step3:登錄數據庫,並執行 repair table tablename use_frm;

step4:檢查恢復結果

(

1, rm -rf t2.MYI t2.MYD

2,touch t2.MYI t2.MYD

3,chow -R mysql.mysql MYI

4,>repair table tablename use_frm 

5,>desc t2;

6,>select * from t2;

)



以上方法也適用於。MYI文件的第一個16K塊被破壞,或包含不正確的信息,或文件丟失 

1, rm -rf t2.MYI(已損壞的索引文件

2,touch t2.MYI建一個空的MYI文件

3,chow -R mysql.mysql MYI

4, repair table tablename use_frm

5,>desc t2;

6,>select * from t2;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章