.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;
)