mysql啟動錯誤1067程序意外終止的解決方法

2022-06-23 18:57:09 字數 1400 閱讀 6004

一、環境介紹

1、mysql主從複製中的從伺服器

2、windows server 2008 r2 enterprise系統 64位作業系統

3、mysql資料庫版本為5.6.34

二、報錯詳情

從伺服器記憶體使用率已快接近99%,計劃將從伺服器上的mysql關閉並關機進行硬體升級。後面因需要備份資料,則沒有進行硬體升級,重啟伺服器之後,想要從系統服務啟動mysql時,報錯見下圖:

三、處理過程

從網上找了很多辦法都沒有解決,最後根據網上的方法去檢視windows日誌

在計算機管理介面依次找到【診斷】->【事件檢視器】->【伺服器角色】->【管理事件】或者【診斷】->【事件檢視器】->【windows日誌】->【應用程式】。點選【應用程式】。

切記,不能單單看一個錯誤日誌,連續的錯誤日誌都需要檢視,不然有可能找不到真正的錯誤原因,導致找不到問題的根源。我就是因為疏忽,在這邊也沒找到關鍵資訊,

最後在mysql安裝目錄找到data資料夾下副檔名是.err那個檔案,開啟檢視錯誤資訊

發現報錯資訊為:

[error] innodb: .\ibdata1 can't be opened in read-write mode

[error] innodb: the system tablespace must be writable!

受到這篇部落格的啟發。解決辦法如下

四、解決方案

1、開啟工作管理員終止mysqld程序;

2、開啟mysql安裝目錄的data資料夾,重新命名這2個檔案:ib_logfile0 和 ib_logfile1

3、重啟mysql服務

五、拓展知識

mysql的innodb中事務日誌ib_logfile

事務日誌或稱redo日誌,在mysql中預設以ib_logfile0,ib_logfile1名稱存在,可以手工修改引數,調節

開啟幾組日誌來服務於當前mysql資料庫,mysql採用順序,迴圈寫方式,每開啟一個事務時,

會把一些相關資訊記錄事務日誌中(記錄對資料檔案資料修改的物理位置或叫做偏移量);

作用:在系統崩潰重啟時,作事務重做;在系統正常時,每次checkpoint時間點,會將之前寫入事務

應用到資料檔案中。