在重裝MySQLl過程中遇到許多問題,其中卡在Initiazing Database讓我困擾很久並未得到解決,網絡上的方法也就那幾個,但並不適用於我,遇到同樣問題的朋友們可以先看文章最下方的錯誤原因和解決方案
下面記錄我使用msi安裝版(MySQL Installer - Community)安裝MySQL8.0系列版本,遇到Initiazing Database問題時從網上找到的解決方案:
- 重裝MySQL,將系統內有關MySQL服務和組件卸載乾淨,並清理註冊表
- 使用壓縮包免安裝版
- 將MySQL服務設置成本地訪問
- 手動啓動MySQL服務
- 換成5系列版本的MySQL安裝
嘗試了許多遍並未解決問題,總結每個解決方案遇到的問題:
1.卸載MySQL
重裝MySQL最重要的是卸載MySQL,卸載分兩種,一種是手動卸載,另一種是使用一開始的安裝器MySQL Installer卸載
手動卸載
- 停止mysql server服務。ctrl+R打開cmd命令界面,輸入net stop mysql,出現已停止則成功
- 刪除mysql server服務。還是cmd命令界面,輸入sc delete mysql,刪除成功(斜體黑字的名字是自定義的,可以看服務裏你的mysql是什麼名字,例如服務裏是mysql80,那就輸入sc delete mysql80)
- 控制面板卸載mysql server
- 刪除C盤裏MySQL server文件夾,一般在C:\Program Files\MySQL或C:\Program Files (x86)\MySQL
- 刪除數據文件,一般在C:\ProgramData裏
- 刪除註冊表,ctrl+R輸入regedit,路徑1:\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\eventlog\Application\MySQL,路徑2:HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL,路徑3:HEKY_LOCAL_MACHINE\SOFTWARE\MYSQL,路徑4:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL
- 重啓電腦
使用MySQL Installer卸載(此方法卸載最乾淨)
前提:之前安裝時也是使用MySQL Installer安裝纔可使用此方法。此方法快捷一鍵刪除乾淨,但是要注意以下幾點,若不執行前三點,在一鍵卸載時會報錯。
- 停止MySQL服務,ctrl+R打開cmd命令界面,輸入net stop mysql,出現已停止則成功
- 刪除mysql server服務。還是cmd命令界面,輸入sc delete mysql,刪除成功
- 刪除C:\ProgramData裏的MySQL文件夾
- 打開MySQL Installer安裝程序,選擇Remove,勾選MySQL server,卸載(若之前安裝時安裝了其他組件,可以不卸載,但想重裝別的版本的MySQL,還是統一版本爲好)
2.重裝MySQL
推薦使用MySQL Installer安裝程序安裝,方便日後卸載維護。安裝前,需要注意卸載必須乾淨,還有一點網上都未提及的,計算機名和計算機組名必須是英文,否則安裝時會報錯,安裝時報錯的幾個步驟:
- 8系列版本在Initializing Database報錯,報錯日誌中有亂碼
- 5系列版本一直卡在starting server
- 手動啓動服務出現啓動後停止
- 壓縮版使用命令安裝在初始化數據庫mysqld --initialize-insecure時,會報錯,其中錯誤提示有部分是亂碼
重點:亂碼!
網上的解決辦法是:1、安裝路徑不出現中文 2、打開my.ini文件修改亂碼部分 3、重裝MySQL
以上辦法對我無效,但在檢查my.ini文件時,查看亂碼部分指向的是什麼,最終查出亂碼部分是計算機名和計算機組名,MySQL在安裝時會獲取計算機名和組名將其寫入my.ini文件中,但好像翻譯中文時亂碼,最終導致程序無法安裝。
解決辦法
右鍵我的電腦屬性–>查看自己的計算機名和組名是否爲中文–>更改計算機名和組名–>重啓計算機–>使用MySQL Installer安裝程序安裝MySQL server–>安裝成功