當前位置:首頁 » 編程語言 » sql資料庫啟動不了

sql資料庫啟動不了

發布時間: 2024-12-08 21:18:10

1. sql資料庫無法啟動

故障處理
移除當前使用的 redo log 文件,然後可以試著啟動資料庫,結果啟動失敗!
提示:
[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 log 來進行前滾和回滾,但是此時 redo log 已經被我們刪掉了,MySQL 無法進行恢復操作。此時,我們設置 innodb_force_recovery=3 來強制啟動 MySQL,仍然啟動不成功,改成 4 後啟動了!
再使用 mysqlmp 導出備份,結果噩夢又降臨了!MySQL 又 crash 了。
提示:
InnDB: Failed to find tablespace for table......
設置參數 innodb_force_recovery=5,資料庫仍然啟動失敗,再設置成 6,啟動成功!用 sqlmp 順利把數據備份出來了!
再初始化資料庫,把剛剛備份的資料庫導入,資料庫恢復成功完成!

參數說明
這里的關鍵是設置 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:不執行前滾的操作。

2. SQL伺服器不能啟動

原因:SQL伺服器未獲得計算機啟動許可權。
解決方法如下:
1、打開安裝的SQL資料庫,點擊進入,進入後, 選擇右上方「服務管理器」選項;
2、出現SqlServer服務界面,在此頁面,點擊啟動選項;
3、啟動完畢後,仍在服務管理器頁面,下拉選擇SqlServerAgent頁面,在此頁面,仍點擊啟動選項:
4、啟動完畢後,重新點擊進入Sql伺服器登陸頁面,重新輸入賬號與密碼即可啟動登陸。

熱點內容
超級訪問陳小春應采兒 發布:2025-05-16 09:43:29 瀏覽:478
緩存視頻合並工具最新版 發布:2025-05-16 09:35:03 瀏覽:194
花雨庭伺服器ip地址和埠 發布:2025-05-16 09:34:58 瀏覽:239
同時修改多台伺服器管理地址工具 發布:2025-05-16 09:20:36 瀏覽:421
什麼配置就能玩地平線 發布:2025-05-16 09:13:46 瀏覽:82
python旋轉圖片 發布:2025-05-16 09:13:40 瀏覽:638
少女前線防檢測腳本 發布:2025-05-16 08:59:07 瀏覽:728
編譯器對系統的依賴 發布:2025-05-16 08:37:29 瀏覽:711
javamap數組 發布:2025-05-16 08:37:28 瀏覽:451
移動光貓如何自行修改密碼 發布:2025-05-16 08:20:15 瀏覽:125