中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL數據庫表損壞后如何修復

發布時間:2021-11-06 14:15:51 來源:億速云 閱讀:602 作者:小新 欄目:MySQL數據庫

這篇文章主要為大家展示了“MySQL數據庫表損壞后如何修復”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“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):不執行前滾的操作。

以上是“MySQL數據庫表損壞后如何修復”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

石台县| 衡东县| 福建省| 綦江县| 彭州市| 永安市| 潞城市| 商洛市| 平江县| 西和县| 寿宁县| 旬邑县| 平湖市| 安乡县| 天峨县| 澳门| 嘉义市| 太湖县| 台湾省| 怀来县| 凤台县| 奉贤区| 柘荣县| 东山县| 江源县| 铁岭县| 山阳县| 上蔡县| 永嘉县| 新营市| 犍为县| 黎城县| 思南县| 长治县| 开江县| 喀喇| 枣阳市| 时尚| 湛江市| 宁河县| 涡阳县|