當數據庫出現損壞時,應優先保證現有數據的完整。在恢復時需要依次使用不同的模式。即先使用第一種模式,失敗后依次嘗試其余的模式,直到可以將數據讀取出來為止。注意,不能在MySQL運行過程中在提示符下直接修改該參數。例如直接執 行“set innodb_force_recovery=2;”,MySQL 會提示該參數處于只讀狀態而拒絕修改。只能在配置文件中進行修改,并重啟數據庫使之生效。
當設置好恢復模式后,創建一個新表,使用MYISAM存儲引擎用于恢復數據。因為原有的InnoDB數據表已經損壞,自然無法直接使用。當開啟恢復模式后,所有的InnoDB數據表不能處于只讀狀態,不能導入數據,因此只能使用MYISAM引擎來恢復數據。接著使用“Insert Into”命令,從原數據表中讀取數據,將其導入新的數據表中。然后利用“Drop”命令刪除原有的表,利用“Rename”命令,將新的表更名為原有的表,最后,將數據庫引擎修改 為 InnoDB,將“innodb_force_recovery”的只設置為0,并重啟數據庫。