mysql異常關閉修復 innodb force

2021-10-19 04:34:22 字數 1222 閱讀 8929

1、在mysql的配置檔案my.cnf裡新增以下**:

[mysqld]

innodb_force_recovery=1 #可以設定1-6

innodb_purge_thread=0 #如果上邊的配置值大於1,此處就要設定為0,否則就會出現innodb: waiting for the background threads to start的錯誤

配置檔案的引數:innodb_force_recovery

innodb_force_recovery影響整個innodb儲存引擎的恢復狀況。預設為0,表示當需要恢復時執行所有的恢復操作(即校驗資料頁/purge?undo/insert?buffer?merge/rolling?back&forward),當不能進行有效的恢復操作時,mysql有可能無法啟動,並記錄錯誤日誌;

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):不執行前滾的操作。

2、重新啟動資料庫,登入mysql備份資料

mysqldump -uroot -p --all-databases> back.sql

3、把之前在my.cnf檔案中新增的兩行**注釋掉,刪除/var/lib/mysql/目錄下的所有檔案,重啟mysql,重啟成功。

4、重新執行mysql的安全指令碼mysql_secure_installation,設定root登入密碼,然後登入mysql進行資料庫的恢復。

source?back.sql;

innodb_force_recovery強制修復mysql異常關閉問題

標籤:var   目錄   密碼   amp   pre   srv   recover   成功   強制

ubuntu 下mysql異常修復 完全解除安裝與重灌

在ubuntu下嘗試mysql,想設定預設字符集來著,結果最終把mysql弄壞了,每次執行 mysql u root p 的時候,就會報錯 error 2002 hy000 can t connect to local mysql server through socket var run mysq...

gnu grub修復 如何修復grub異常

gnu grub grand unified bootloader簡稱 grub 是乙個來自gnu專案的多作業系統啟動程式。grub是多啟動規範的實現,它允許使用者可以在計算機內同時擁有多個作業系統,並在計算機啟動時選擇希望執行的作業系統。grub可用於選擇作業系統分割槽上的不同核心,也可用於向這些...

DBCC CHECKDB修復異常表

公司消耗品t6系統查詢某錶時反映很慢,經過dbcc checkde 表後出現如下錯誤 表 ap vouchs 物件 id 568389094 中發現 0 個分配錯誤和 2 個一致性錯誤。表 ar badpara 物件 id 616389265 中發現 0 個分配錯誤和 2 個一致性錯誤。解決方法 以...