Win11 XAMPP Carch – Error: MySQL shutdown unexpectedly.

終於還是升級了 Win11,升級完成後慘案還是發生了,該來的還是會來。在我電腦中安裝用來開發用的 XAMPP 中的 MySQL 居然打不開了!!! 還好在 Win10 的時候有遇過一次,也感謝自己有記錄下來,依然有用,解決我 Win11 安裝後 MySQL 崩潰問題,也保住所有資料,本文也帶大家一步一步的做,如您也遇到一樣情況,可以參考本文,希望也能解決您的問題。

升級 Win11後,開啟 XAMPP 出現一堆錯誤的紅字,MySQL 也跟著掛了!!!!

檢視錯誤日誌

由 XAMPP 控制面板開啟 mysql error log (也看不是很懂)

InnoDB: using atomic writes.
2022-03-03 19:05:22 0 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2022-03-03 19:05:22 0 [Note] InnoDB: Uses event mutexes
2022-03-03 19:05:22 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2022-03-03 19:05:22 0 [Note] InnoDB: Number of pools: 1
2022-03-03 19:05:22 0 [Note] InnoDB: Using SSE2 crc32 instructions
2022-03-03 19:05:22 0 [Note] InnoDB: Initializing buffer pool, total size = 16M, instances = 1, chunk size = 16M
2022-03-03 19:05:22 0 [Note] InnoDB: Completed initialization of buffer pool
2022-03-03 19:05:22 0 [Note] InnoDB: 128 out of 128 rollback segments are active.
2022-03-03 19:05:22 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2022-03-03 19:05:22 0 [Note] InnoDB: Setting file 'C:\xampp\mysql\data\ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2022-03-03 19:05:22 0 [Note] InnoDB: File 'C:\xampp\mysql\data\ibtmp1' size is now 12 MB.
2022-03-03 19:05:22 0 [Note] InnoDB: Waiting for purge to start
2022-03-03 19:05:23 0 [Note] InnoDB: 10.4.13 started; log sequence number 1111566301; transaction id 800508
2022-03-03 19:05:23 0 [Note] InnoDB: Loading buffer pool(s) from C:\xampp\mysql\data\ib_buffer_pool
2022-03-03 19:05:23 0 [Note] Plugin 'FEEDBACK' is disabled.
2022-03-03 19:05:23 0 [Note] Server socket created on IP: '::'.

修復錯誤

詳細原因其實也不是很清楚,網路上找到下列這篇文章,似乎是最簡單解決這個問題,本文是依照下列這篇文章進行問題排除,方法與原文有點差異,有興趣可參考原文

參考:xampp mysql and
參考:phpmyadmin dont work

備份資料檔案

如果您的資料已經有資料了,強烈建議備份下來,再來的動作可能會造成原有資料遺失,做危險操作時,花一些時間備份,養成好習慣

資料檔案預設目錄:C:\xampp\mysql\data

複製 backup 目錄中的檔案覆蓋於 data 目錄中

預設 backup 目錄:C:\xampp\mysql\backup

注意!! 若您 資料庫有使用 innodb 在複製 backup 中的檔案時,不可以複製 ibdata1 這個檔案,同時也確保 ibdata1 存在您的 data 目錄中,ibdata1 刪除了,將無法恢復您的資料庫

如果您已誤刪或覆蓋了 ibdata1 這檔案了,還有救

請參考此文章,恢復您的 innodb

參考:recover mysql database from ibdata1

重啟資料庫

覆蓋檔案完成,重啟 MySQL,太好了,沒有報錯,接著開啟 phpMyAdmin 驗證一下是否正常

Youtube 有網友將步驟製成影片,也可以參考這影片

上方步驟完成後,開啟 phpMyAdmin

噴了一些錯誤,但應該是密碼問題,剛覆蓋 backup 的檔案後,如果您的 phpMyAdmin 或其他程式都有設定資料庫登入密碼的話,需要重新設定密碼

MySQL 重設密碼

開啟 XAMPP 面板,按下右側的 Shell 按鈕

輸入下列這段指令更改資料庫 root 密碼

# mysqladmin.exe -u root password <your password>

參考:Resetting MySQL Root Password with XAMPP on Localhost

成功開啟 phpMyAdmin

如果文章對您很有幫助
請我喝杯咖啡吧

Bitcoin 比特幣錢包:

38ieWXhURt27br9XrDoCeo4eruzKyi8QKs



ann71727

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料