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