控制面板卸載 MySQL 後,服務註冊信息殘留在注冊表 Eventlog\Application\MySQL 下三個 ControlSet 中,導致重裝報「服務已存在」或路徑錯誤。
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL
$paths = @(
'HKLM:\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL',
'HKLM:\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL',
'HKLM:\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL'
)
foreach ($p in $paths) {
if (Test-Path $p) { Remove-Item -Recurse -Force $p; Write-Host "Removed: $p" }
}
# 同步刪除服務鍵(若存在)
$svc = 'HKLM:\SYSTEM\CurrentControlSet\Services\MySQL'
if (Test-Path $svc) { Remove-Item -Recurse -Force $svc }
Write-Host "MySQL registry cleanup done."
C:\Program Files\MySQL\C:\ProgramData\MySQL\(隱藏,含 data 目錄)C:\Users\\AppData\Roaming\MySQL\ %TEMP%\mysql*
sc query mysql # 顯示 [SC] EnumQueryServicesStatus:OpenService FAILED 1060: 指定的服務不存在作為已安裝的服務
reg query HKLM\SYSTEM\CurrentControlSet\Services\MySQL # 錯誤:系統找不到指定的注冊表鍵值
MySQL80,注冊表路徑同理替換。reg export HKLM\SYSTEM\CurrentControlSet\Services\MySQL backup.reg)。