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 個一致性錯誤。解決方法 以...