首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Windows 下 MySQL 徹底卸載指南:從服務停止到註冊表清理

     編輯:MySQL 資料庫相關知識

為什麼需要「徹底」卸載?

Windows 控制面板的「程式和功能」僅能移除 MySQL 程式文件,但 系統服務註冊、配置文件、註冊表項、數據目錄 往往殘留。這會導致:

  • 重新安裝同版本時提示「已存在」或配置遺留舊值
  • 端口/服務名稱衝突導致新實例啟動失敗
  • 安全隱患:殘留數據目錄可能洩露舊數據

標準卸載四步法

步驟 1:停止並移除系統服務

# 以管理員身份運行 CMD
net stop MySQL80
sc delete MySQL80
# 或 mysqld --remove MySQL80
確認服務名稱:sc query state= all | findstr MySQL

步驟 2:控制面板移除程式

「設置 → 應用 → 已安裝的應用」搜索 MySQL,逐項卸載:

  • MySQL Server 8.x
  • MySQL Workbench / Shell / Router 等工具
  • MySQL Connector/ODBC, Connector/NET 等驅動
  • Visual C++ Redistributable 勿動(系統組件)

步驟 3:刪除殘留文件與目錄

# 典型殘留路徑(按實際安裝路徑調整)
rd /s /q "C:\Program Files\MySQL\MySQL Server 8.0"
rd /s /q "C:\ProgramData\MySQL\MySQL Server 8.0"
rd /s /q "C:\Users\<用戶名>\AppData\Roaming\MySQL"
# 數據目錄若非默認位置,手動備份後刪除

步驟 4:清理註冊表(關鍵)

打開 regedit,依次定位並刪除以下鍵值(含子鍵):

  1. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL
  2. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL
  3. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL
  4. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL80(服務名對應)
  5. HKEY_LOCAL_MACHINE\SOFTWARE\MySQL AB / HKEY_LOCAL_MACHINE\SOFTWARE\MySQL
  6. HKEY_CURRENT_USER\SOFTWARE\MySQL AB
操作前請導出備份: 右鍵鍵值 → 「導出」保存 .reg 文件,防誤刪系統關鍵項。

註冊表清理示意圖

驗證卸載乾淨度

  1. sc query MySQL80 返回「指定的服務不存在作為已安裝的服務」
  2. 檔案總管搜索 my.ini、mysqld.exe 無結果
  3. 註冊表搜索 MySQL 僅剩無關項(如 ODBC 驅動)
  4. 重新安裝同版本,配置精靈不提示「檢測到現有實例」

一鍵清理腳本(PowerShell 管理員運行)

$svc = "MySQL80"
Stop-Service $svc -ErrorAction SilentlyContinue
sc.exe delete $svc
Remove-Item "C:\Program Files\MySQL\MySQL Server 8.0" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item "C:\ProgramData\MySQL\MySQL Server 8.0" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item "HKLM:\SYSTEM\CurrentControlSet\Services\$svc" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item "HKLM:\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item "HKLM:\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item "HKLM:\SOFTWARE\MySQL" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item "HKLM:\SOFTWARE\MySQL AB" -Recurse -Force -ErrorAction SilentlyContinue
Write-Host "MySQL 徹底清理完成" -ForegroundColor Green

總結

「控制面板卸載 ≠ 徹底卸載」。服務移除 → 程式卸載 → 文件清理 → 註冊表掃除 四步缺一不可。建議養成「安裝前快照、卸載後驗證」習慣,避免版本切換時的幽靈故障。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved