數(shù)據(jù)表的修復(fù)
日期:2002-01-01 注意:在修復(fù)表之前要靠被他們,注意備份,切記! 1.標準的表修復(fù) a.試著用 --recover選項修復(fù)表,能加上 --quick選項試圖只根據(jù)索引的內(nèi)容進行修復(fù),這樣做不觸及數(shù)據(jù)文件。 % myisamchk --recover --quick table_name or % isamchk --recover --quick table_name b.假如難題還存在,在試試上一步命令,但是要忽略 --quick選項,這樣允許修改數(shù)據(jù)文件。 % myisamchk --recover table_name or % isamchk --recover table_name c.假如還不工作,試試 --safe-recover 修復(fù)辦法。但這種辦法比普通辦法要慢,但能修復(fù) --recover無法修復(fù)的難題。 % myisamchk --safe-recover table_name or % isamchk --safe-recover table_name 假如在myisamchk or isamchk 由于一個"can‘t create new temp file:file_name"的錯誤消息在任何一步停止,應(yīng)該重復(fù)該命令并 加入 --force選項強迫清除臨時文件。 2.假如標準修復(fù)失敗這樣做 a.定位到包含崩潰表的數(shù)據(jù)庫目錄中。 b.將該表的數(shù)據(jù)文件移到安全的地方。 c.調(diào)用mysql并通過執(zhí)行下列語句重新創(chuàng)建新的空表,該語句使用表的描述文件 tbl_name.frm重新開始生成新的數(shù)據(jù)和索引文件。 mysql>delete from tbl_name; d.退出mysql,將原始的數(shù)據(jù)文件移回到數(shù)據(jù)目錄中,替換剛建的新的空文件。 e.在世這樣用標準修復(fù)辦法。 為了修復(fù)表的描述文件,可先從備份文件中恢復(fù),然后再用標準修復(fù)辦法。 假如由于某些原因沒有備份,假如知道create table 語句,仍然能恢復(fù)該文件: a.定位到包含崩潰表的數(shù)據(jù)庫目錄中。 b.將該表的數(shù)據(jù)文件移到安全的地方。假如想使用用索引的話,還需要把索引文件移走。 c.調(diào)用mysql 發(fā)布create table 語句重建表。 d.退出mysql,將原始的數(shù)據(jù)文件移回到數(shù)據(jù)目錄中,替換剛才新建的數(shù)據(jù)文件。假如在第2不中移動了索引文件,則也要講起移回到 數(shù)據(jù)庫目錄中。 e.在嘗試標準表修復(fù)辦法。 以上辦法針對mysql有效,請大伙注意。 |
|