現象
MySQL Installer 顯示安裝成功,但啟動服務失敗,端口無衝突,`my.ini` 多次修改無效。
常見原因
- 舊版本殘留註冊表/服務/數據目錄:之前安裝過 MySQL,卸載不乾淨,導致新實例讀取舊配置或數據目錄權限錯誤。
- 數據目錄初始化失敗:`data` 目錄已存在舊文件,或權限不足。
- 配置文件 `my.ini` 未生效:實際讀取路徑非預期位置(可用 `mysqld --help --verbose | findstr my.ini` 確認)。
徹底解決步驟
- **管理員 PowerShell 執行**:
net stop mysql
sc delete mysql
Remove-Item "C:\ProgramData\MySQL" -Recurse -Force
Remove-Item "C:\Program Files\MySQL" -Recurse -Force
# 刪除註冊表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL 等相關鍵
- 重啟電腦。
- 重新安裝,**自定義安裝路徑**、**數據目錄選空目錄**,安裝結束前**不勾選啟動服務**。
- 以管理員身分運行 `mysqld --initialize-insecure --console` 手動初始化數據目錄。
- 再 `mysqld --install` 安裝服務,`net start mysql` 啟動。
經驗
Win7 x64 上 MySQL 5.7/8.0 安裝最怕**舊版本殘留**,徹底清理註冊表與 ProgramData 是關鍵。