運行 MySQL Instance Configuration Wizard** 最後一步報錯:
cannot create windows service for mysql.error:0
本質是 **Windows 服務管理器中已存在同名服務** (通常因重裝、升級、配置向導重複運行導致)。本文提供標準清理流程、強制刪除命令、驗證步驟與預防建議。
mysql。net stop mysql
sc config mysql start= disabled
sc delete mysql
# 輸出:[SC] DeleteService SUCCESS
原理: sc.exe 是 Windows 服務控制管理器 (SCM) 客戶端工具,直接操作註冊表 HKLM\SYSTEM\CurrentControlSet\Services\mysql 刪除服務定義。
sc query mysql
# 輸出:[SC] EnumQueryServicesStatus:OpenService FAILED 1060: 指定的服務不存在作為已安裝的服務。
# 即:服務已徹底移除。
mysql (現已可用),或改為 mysql80 等區分版本。| 現象 | 原因 | 解決 |
|---|---|---|
sc delete 提示 Access Denied | 權限不足 | 以**管理員身份運行 CMD/PowerShell** |
| 服務標記為「刪除待定」 | 服務控制管理器延遲清理 | 重啟機器,或 taskkill /f /pid 關聯進程後重試 |
| 註冊表殘留鍵值 | 手動刪除服務不完整 | Regedit 刪除 HKLM\SYSTEM\CurrentControlSet\Services\mysql 及 HKLM\SYSTEM\ControlSet001\Services\mysql |
若以上均無效:
C:\Program Files\MySQL\) 與數據目錄 (如 C:\ProgramData\MySQL\)。D:\MySQL80\)。「笨辦法」往往最有效,乾淨環境零殘留。
mysql57, mysql80)。mysqld --initialize-insecure → 手動註冊服務 mysqld --install mysql80,完全可控。cannot create windows service 核心在於 **服務名衝突**。標準解法:**管理員 CMD → sc delete mysql → 重跑向導**。若環境雜糅,選擇**完全協載重裝新目錄**,乾淨利落。養成版本隔離、服務名帶版本號習慣,徹底告別此錯誤。