當前位置:首頁 » 編程語言 » 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伺服器登陸頁面,重新輸入賬號與密碼即可啟動登陸。

熱點內容
android對應ndk 發布:2025-07-18 00:53:46 瀏覽:216
sm4演算法使用 發布:2025-07-18 00:53:42 瀏覽:815
oracle同步mysql資料庫 發布:2025-07-18 00:42:27 瀏覽:191
go語言編譯其他平台 發布:2025-07-18 00:42:23 瀏覽:280
二叉樹非遞歸先序遍歷演算法 發布:2025-07-18 00:39:45 瀏覽:356
壓縮熱泵循環 發布:2025-07-18 00:38:04 瀏覽:888
安卓自動升級在哪裡關掉 發布:2025-07-18 00:36:37 瀏覽:360
鍵盤按f9鍵不可以編譯怎麼調 發布:2025-07-18 00:11:34 瀏覽:312
安卓手機的廣告如何刪除 發布:2025-07-18 00:10:50 瀏覽:105
linux安裝composer 發布:2025-07-18 00:04:52 瀏覽:241