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

徹底清理 MySQL 殘留:從控制面板到註冊表的完全卸載指南

     編輯:MySQL 綜合教學

為何需要徹底清理?

Windows 下 MySQL 卸載後常遺留服務、註冊表項、數據目錄、配置文件,導致重新安裝版本衝突、端口佔用、舊配置生效等疑難雜症。本文提供標準化清理清單,確保乾淨重裝。

步驟 1:常規卸載入口

  • 「控制面板」→「程序和功能」→ 找到 MySQL → 「卸載」。
  • 或直接運行原安裝包(.msi),選擇 Remove。

步驟 2:刪除殘留 Windows 服務

以管理員身份打開 CMD / PowerShell:

sc query state= all | findstr /i mysql
# 列出所有 MySQL 相關服務名,如 MySQL80, MySQL57

sc delete MySQL80
sc delete MySQL57
# 或使用 mysqld 內建命令(需在 bin 目錄下)
mysqld --remove MySQL80
mysqld --remove MySQL57

驗證:services.msc 中不再出現 MySQL 服務。

步驟 3:清理註冊表(核心難點)

打開 regedit,依次檢查並刪除以下鍵值(操作前導出備份!):

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\MySQL
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MySQL*
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\EventLog\Application\MySQL
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MySQL*
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\EventLog\Application\MySQL
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\MySQL*
HKEY_LOCAL_MACHINE\SOFTWARE\MySQL AB
HKEY_LOCAL_MACHINE\SOFTWARE\MySQL
HKEY_CURRENT_USER\SOFTWARE\MySQL AB
HKEY_CURRENT_USER\SOFTWARE\MySQL

提示: 搜索關鍵字 MySQL 逐項確認刪除,避免誤刪無關項。

步驟 4:刪除文件系統殘留

  • 安裝目錄:C:\Program Files\MySQL\、C:\Program Files (x86)\MySQL\、自定義路徑(如 D:\MySQL\)。
  • 數據目錄:C:\ProgramData\MySQL\(隱藏目錄,含 data、my.ini)。
  • 用戶配置:C:\Users\<用戶名>\AppData\Roaming\MySQL\、C:\Users\<用戶名>\.mysql_history。
  • 臨時文件:%TEMP%\mysql*。

建議使用 Everything 或資源管理器搜索 mysql 全盤掃描,手動確認後刪除。

步驟 5:環境變數與防火牆

  • 系統變量 Path 中移除 MySQL bin 路徑。
  • Windows 防火牆「高級安全」→「入站規則」刪除 MySQL 相關規則(端口 3306/33060)。

步驟 6:驗證乾淨度

nul || echo "不存在"
dir "C:\ProgramData\MySQL" 2>nul || echo "不存在"

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

$svcs = Get-Service -Name MySQL* -ErrorAction SilentlyContinue
$svcs | ForEach-Object { sc.exe delete $_.Name }

$regPaths = @(
    'HKLM:\SYSTEM\CurrentControlSet\Services\EventLog\Application\MySQL',
    'HKLM:\SYSTEM\CurrentControlSet\Services\MySQL*',
    'HKLM:\SOFTWARE\MySQL AB',
    'HKLM:\SOFTWARE\MySQL',
    'HKCU:\SOFTWARE\MySQL AB',
    'HKCU:\SOFTWARE\MySQL'
)
$regPaths | ForEach-Object { Remove-Item $_ -Recurse -Force -ErrorAction SilentlyContinue }

$dirs = @(
    'C:\Program Files\MySQL',
    'C:\Program Files (x86)\MySQL',
    'C:\ProgramData\MySQL',
    "$env:APPDATA\MySQL"
)
$dirs | ForEach-Object { if (Test-Path $_) { Remove-Item $_ -Recurse -Force } }

Write-Host "MySQL 殘留清理完成" -ForegroundColor Green

避坑提醒

  1. 若有多版本並存,僅刪除目標版本服務與註冊表項,保留其它版本。
  2. 數據目錄 C:\ProgramData\MySQL\MySQL Server X.Y\Data 含業務數據,**刪除前務必確認已備份或無需保留**。
  3. 註冊表操作不可逆,請先 文件 → 導出 備份相關分支。

完成上述步驟,系統恢復到「從未安裝 MySQL」的乾淨狀態,任意版本均可順利重裝。

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