MySQL資料庫表損壞後的修復方法
1.MyISAM表損壞 用myisamchk命令來修復 myisamchk -r -q 後面跟你的表名.MYI 這個命令是專門修復myism引擎資料庫表的。比如,你的資料庫目錄為 /var/lib/mysql/db 其中一個表為 test 那麼修復test表的方法為 myisamchk -r -q /var/lib/mysql/db/test.MYI 如果修復全部表,用這個命令 myisamchk -r -q /var/lib/mysql/db/*.MYI 2.InnoDB表損壞 InnoDB擁有內部恢復機制,假如資料庫崩潰了,InnoDB透過從最後一個時間戳開始執行日誌檔案,來嘗試修復資料庫。 大多數情況下會修復成功,而且整個過程是透明的。 假如InnoDB自行修復失敗,那麼資料庫將不能啟動。 在繼續操作前,先瀏覽下MySQL的日誌檔案,確定資料庫是因為InnoDB表的損壞而崩潰。 有一種方法是更新InnoDB的日誌檔案計數器以跳過引起崩潰的查詢,這種情況下,將造成資料的不一致性而且會經常使主從複製中斷。 一旦確定MySQL因為InnoDB表損壞無法啟動時,就可以按照以下5步進行修復: 1.編輯/etc/my.cnf檔案,加入如下行: innodb_force_recovery = 4 2.這時就可以重新啟動資料庫了,在innodb_force_recovery配置的作用,所有的插入與更新操作將被忽略; 3.匯出所有的資料表; 4.關閉資料庫並刪除所有資料表檔案及目錄,再執行 mysql_install_db來建立MySQL預設資料表; 5.在/etc/my.cnf中刪除innodb_force_recovery這一行,再啟動MySQL(這時MySQL正常啟動); 6.從第3步備份的檔案中恢復所有的資料。 innodb_force_recovery可以設定為1-6,大的數字包含前面所有數字的影響。當設定引數值大於0後,可以對錶進行select,create,drop操作,但insert,update或者delete這類操作是不允許的。
1(SRV_FORCE_IGNORE_CORRUPT):忽略檢查到的corrupt頁。 2(SRV_FORCE_NO_BACKGROUND):阻止主執行緒的執行,如主執行緒需要執行full purge操作,會導致crash。 3(SRV_FORCE_NO_TRX_UNDO):不執行事務回滾操作。 4(SRV_FORCE_NO_IBUF_MERGE):不執行插入緩衝的合併操作。 5(SRV_FORCE_NO_UNDO_LOG_SCAN):不檢視重做日誌,InnoDB儲存引擎會將未提交的事務視為已提交。 6(SRV_FORCE_NO_LOG_REDO):不執行前滾的操作。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2089363/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MYSQL資料表損壞的原因分析和修復方法MySql
- InterBase資料庫檔案損壞的修復方法資料庫
- MySQL資料庫INNODB表損壞修復處理過程分享MySql資料庫
- SQLite資料庫損壞及其修復探究SQLite資料庫
- 修復損壞的資料塊
- 伺服器Oracle資料庫損壞修復伺服器Oracle資料庫
- 電腦硬碟分割槽表損壞怎麼修復?電腦硬碟分割槽表損壞的修復方法硬碟
- Oracle資料庫UNDO損壞後的恢復Oracle資料庫
- master資料庫損壞之後的恢復AST資料庫
- redo損壞修復啟動資料庫辦法資料庫
- 伺服器資料庫損壞能修復嘛伺服器資料庫
- SQL Server 資料頁損壞修復SQLServer
- ORACLE中修復資料塊損壞Oracle
- SQL Anywhere db檔案損壞修復 DB檔案修復 DB資料庫修復SQL資料庫
- system資料檔案頭損壞修復
- MySQL資料庫InnoDB壞頁處理修復MySql資料庫
- 織夢資料庫配置檔案資料庫損壞:嘗試修復資料庫資料庫
- 某個表空間的資料檔案損壞的修復思路
- 【LINUX】Oracle資料庫 linux磁碟頭資料損壞修復LinuxOracle資料庫
- 磁頭損壞的修復方法有哪些
- 資料恢復記錄:硬碟分割槽損壞修復SqlServer資料庫過程資料恢復硬碟SQLServer資料庫
- 【MySQL】表索引損壞致Crash及修復過程一則MySql索引
- Oracle中匯出修復資料塊損壞Oracle
- Oracle中模擬修復資料塊損壞Oracle
- win10系統硬碟分割槽表損壞的修復方法Win10硬碟
- Oracle資料庫壞塊修復Oracle資料庫
- 執行在容器中Postgres資料庫資料損壞後如何恢復?資料庫
- 資料恢復工具Recoverit使用教程:如何修復損壞的影片資料恢復
- 陣列櫃損壞修復後oracle資料庫不能正常啟動解決辦法陣列Oracle資料庫
- u盤檔案損壞怎麼恢復資料 u盤恢復損壞資料的有效方法
- SQL Server 資料庫損壞、檢測以及簡單的修復辦法SQLServer資料庫
- 使用RMAN恢復完全損壞的資料庫資料庫
- MySQL資料庫下.frm.MYD.MYI損壞恢復操作MySql資料庫
- 修復資料庫壞塊之五資料庫
- 修復資料庫壞塊之四資料庫
- 修復資料庫壞塊之三資料庫
- 修復資料庫壞塊之二資料庫
- 修復資料庫壞塊之一資料庫