首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL Server 徹底卸載指南 (Windows):服務、檔案、註冊表、資料目錄全清理

     編輯:MySQL 綜合教學

MySQL Server 徹底卸載指南 (Windows):服務、檔案、註冊表、資料目錄全清理

Windows 上 MySQL 卸載殘留是導致重裝失敗、服務衝突的主因。本文提供標準化 5 步驟徹底清理流程。

標準卸載 5 步驟

1. 停止並移除服務

# 以管理員身分執行 CMD/PowerShell
net stop mysql
sc delete mysql
# 成功顯示: [SC] DeleteService SUCCESS

# 若有多實例
sc query type= service state= all | findstr mysql
sc delete MySQL57
sc delete MySQL80

2. 控制台解除安裝

「控制台」→「程式和功能」→ 選擇 "MySQL Server X.Y" → 解除安裝

勾選「移除資料檔案」若提示 (視安裝版本而定)

3. 刪除安裝目錄

# 典型路徑
rd /s /q "C:\Program Files\MySQL\MySQL Server 5.7"
rd /s /q "C:\Program Files\MySQL\MySQL Server 8.0"

# 若有自訂路徑同理刪除

4. 刪除資料目錄 (關鍵、隱藏)

# Windows 7/10/11 (ProgramData 預設隱藏)
rd /s /q "C:\ProgramData\MySQL"

# 啟用顯示隱藏檔案:
# 檔案總管 → 檢視 → 勾選「隱藏的項目」

5. 清理註冊表

開啟 `regedit`,依序刪除 (若存在):

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
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MySQL
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\MySQL
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL
HKEY_LOCAL_MACHINE\SOFTWARE\MySQL AB
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MySQL AB  (64位系統)
HKEY_CURRENT_USER\Software\MySQL AB

驗證清理完成

  1. 重啟電腦
  2. 檢查「服務」中無任何 MySQL 服務
  3. 檢查 `C:\ProgramData\MySQL` 不存在
  4. 檢查 `C:\Program Files\MySQL` 不存在
  5. 嘗試重新安裝,觀察是否順利完成無錯誤

常見安裝錯誤對應清理

安裝錯誤殘留原因補救清理
cannot create windows service for mysql error: 0舊服務未刪/註冊表 Services 殘留sc delete + 刪除 HKLM\SYSTEM\*ControlSet*\Services\MySQL
配置步驟第 3 步失敗資料目錄殘留/權限衝突刪除 ProgramData\MySQL 完整目錄
密碼設定頁報錯舊 root 帳號資訊在註冊表/授權表清理 HKLM\SOFTWARE\MySQL AB
啟動服務失敗 1067my.ini 配置錯誤/資料目錄損壞完整清理後重裝,勿保留舊配置

PowerShell 一鍵清理腳本 (慎用,確認無其他 MySQL 實例)

# 需管理員權限執行
Stop-Service -Name mysql* -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
$regPaths = @(
  "HKLM:\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL",
  "HKLM:\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL",
  "HKLM:\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL",
  "HKLM:\SYSTEM\ControlSet001\Services\MySQL",
  "HKLM:\SYSTEM\ControlSet002\Services\MySQL",
  "HKLM:\SYSTEM\CurrentControlSet\Services\MySQL",
  "HKLM:\SOFTWARE\MySQL AB",
  "HKLM:\SOFTWARE\Wow6432Node\MySQL AB",
  "HKCU:\Software\MySQL AB"
)
$regPaths | ForEach-Object { Remove-Item $_ -Recurse -Force -ErrorAction SilentlyContinue }
Write-Host "MySQL 清理完成,建議重啟電腦。"
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved