MySQL 安裝最後一步失敗、服務啟動失敗、殘留註冊表導致重裝失敗,是 Windows 環境最常見痛點。本文提供三大經典錯誤的根因分析、徹底清理步驟與預防策略。
現象:安裝精靈最後階段「Apply security settings」卡住或報錯。
根因:舊版本安裝殘留的 C:\Documents and Settings\All Users\Application Data\MySQL 目錄權限衝突。
C:\Documents and Settings\All Users\Application Data\MySQL (XP/2003)C:\ProgramData\MySQL現象:Instance Configuration Wizard 執行到「Start Service」步驟報錯。
根因:先前安裝未乾淨移除,Windows 服務管理器仍殘留 MySQL 服務,或註冊表服務鍵值未清。
核心對策:徹底移除服務註冊 → 重啟 → 重裝。
services.msc) → 找到 MySQL → 停止 → 記下服務名稱sc delete MySQL (或實際服務名)[SC] DeleteService SUCCESSregedit) 搜尋 MySQL (F3 循環) 刪除以下路徑:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQLHKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQLHKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQLC:\Program Files\MySQL\ (含隱藏 ProgramData\MySQL\)mysqld, mysql 進程%TEMP% 臨時檔MySQL57)綜合上述兩種情況,執行「核心對策」完整流程通常可解決。關鍵補充:
C:\Windows\System32\LogFiles\WMI\RtBackup 是否有舊版 WMI 存儲庫干擾sfc /scannow 修復系統檔案# 停止並移除所有 MySQL 相關服務
Get-Service -Name *mysql* | Stop-Service -Force -ErrorAction SilentlyContinue
Get-Service -Name *mysql* | ForEach-Object { sc.exe delete $_.Name }
# 移除安裝目錄
Remove-Item "C:\Program Files\MySQL" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item "C:\ProgramData\MySQL" -Recurse -Force -ErrorAction SilentlyContinue
# 清理註冊表 (需謹慎,建議先匯出備份)
$paths = @(
'HKLM:\SYSTEM\CurrentControlSet\Services\MySQL',
'HKLM:\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL',
'HKLM:\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL'
)
$paths | ForEach-Object { if (Test-Path $_) { Remove-Item $_ -Recurse -Force } }
Write-Host "清理完成,請重啟電腦後重新安裝。"