mysql 資料庫無法啟動Ignoring the redo log due to missing MLOG_CHECKPOINT between
資料庫機器的CPU和主機板都換了,重新開機,發現mysql資料庫無法啟動!
Ignoring the redo log due to missing MLOG_CHECKPOINT between the checkpoint .... and ...
這個問題出現在mysql 5.7之後的版本,主要的原因是mysql會在最新的checkpoint完成後都會在redo log寫一個一位元組的MLOG_CHECKPOINT 標記,用來標記在此之前的redo都已checkpoint完成。如果處於任何原因沒有找到這個標記,那麼整個redo日誌檔案都會被忽略。出現這個錯誤的話,最好是有備份進行恢復,如果沒有做好備份,那隻能採取非常規的啟動方式,但可能造成資料丟失。
移除當前使用的redo日誌檔案,然後可以試著啟動資料庫,結果啟動失敗!
這時的提示:[ERROR] InnoDB: Page [page id: space=0, page number=0] log sequence number 178377412422 is in the future! Current system log sequence number 165909011496. 這樣的錯誤,這是因為mysql writer執行緒按照配置的時間間隔以page為單位重新整理buffer資料到磁碟,當資料重新整理到磁碟的時候,新寫入磁碟的page包含了較新的lsn,此時系統system表空間頭的lsn並沒有同步更新,通常這是檢查點執行緒的工作。在正常的崩潰恢復中,mysql可以藉助redo日誌來進行前滾和回滾,但是此時redo日誌已經被我們刪掉了,mysql無法進行恢復操作。此時,我們設定innodb_force_recovery=3來強制啟動mysql,仍然啟動不成功,改成4,啟動了!
再使用mysqldump匯出備份,結果噩夢又降臨了!
設定引數innodb_force_recovery=5,資料庫仍然啟動失敗,再設定成6,啟動成功!用sqldump順利吧資料備份出來了!
再初始化資料庫,把剛剛備份的資料庫匯入,行了!資料庫恢復成功完成!
這裡的關鍵是設定innodb_force_recovery引數,對應這個引數的說明如下:
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/70018393/viewspace-2900275/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 刪除redo所有日誌,資料庫無法啟動資料庫
- MYSQL資料庫服務無法啟動MySql資料庫
- redo log全部刪除後,啟動資料庫資料庫
- redo損壞修復啟動資料庫辦法資料庫
- undo壞塊引起資料庫無法啟動資料庫
- MySQL資料庫出現 Ignoring query to other databaseMySql資料庫Database
- 啟動MySql資料庫MySql資料庫
- 資料庫篇:mysql日誌型別之 redo、undo、binlog資料庫MySql型別
- MySQL服務名無效或者MySQL正在啟動 MySQL無法啟動MySql
- Oracle日常問題處理-資料庫無法啟動Oracle資料庫
- Oracle日常問題-資料庫無法啟動(案例二)Oracle資料庫
- 達夢資料庫dmap服務無法正常啟動資料庫
- 一則資料庫無法啟動的奇怪案例分析資料庫
- 資料庫shutdown之後無法啟動的問題資料庫
- HA異常導致oracle資料庫無法啟動Oracle資料庫
- Windows 下處理資料庫無法啟動問題Windows資料庫
- 恢復資料庫引數錯誤無法啟動資料庫
- 掉電無法啟動資料庫問題解決資料庫
- MySQL資料庫如何啟動?MySql資料庫
- PURGE MASTER LOGS語法--MySql資料庫ASTMySql資料庫
- WAMP無法連線mysql資料庫MySql資料庫
- 資料庫資料恢復—無備份,binlog未開啟的Mysql資料庫資料恢復案例資料庫資料恢復MySql
- 歸檔問題導致的資料庫無法啟動資料庫
- dbua後資料庫無法啟動錯誤的解決資料庫
- 修改SQLNET.ORA導致資料庫無法啟動SQL資料庫
- mysql無法建立資料庫怎麼辦MySql資料庫
- MySQL:Redo & binlogMySql
- mysql之 redo logMySql
- LOGSTDBY status: ORA-16227: DDL skipped due to missing objectObject
- qt使用mysql,開啟資料庫,丟擲無法連線錯誤。QTMySql資料庫
- MySQL更新資料時,日誌(redo log、binlog)執行流程MySql
- 【資料庫資料恢復】無法啟動MongoDB服務的資料恢復案例資料庫資料恢復MongoDB
- Oracle 12.2應用PSU後資料庫無法啟動Oracle資料庫
- oracle SGA設定過大導致資料庫無法啟動Oracle資料庫
- 恢復REDO Log丟失的Oracle資料庫Oracle資料庫
- zblog域名後無法訪問 zblog資料庫地址修改資料庫
- 【資料庫資料恢復】突然斷電造成Syabse資料庫無法啟動的資料恢復案例資料庫資料恢復
- PG 資料庫遭遇 pg_clog file missing 故障.資料庫