Windows 下通過「控制面板」卸載 MySQL 往往無法乾淨,殘留的數據目錄、配置文件、註冊表項會導致重裝失敗、端口衝突、服務啟動異常。本文提供經驗驗證的四步徹底清理法,確保環境還原乾淨狀態。
# 典型路徑(根據實際安裝路徑調整) D:\MySQL\MySQL Server 5.5 # 程序安裝目錄 C:\ProgramData\MySQL\MySQL Server 5.5 # 隱藏數據目錄(關鍵!) C:\Program Files\MySQL # 可能的殘留
關鍵點: C:\ProgramData 默認隱藏,需在資料夾選項中勾選「顯示隱藏文件、文件夾和驅動器」後方可見並刪除。此目錄包含 data 數據文件、my.ini 配置、ib_logfile* 重做日志等核心文件,必須刪除 否則重裝會沿用舊數據導致衝突。
打開 regedit,依次檢查並刪除以下鍵值(版本號可能為 ControlSet001/002/005 等):
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\CurrentControlSet\Services\MySQL*
提示: 使用註冊表搜索 MySQL 關鍵字全盤掃描,謹慎刪除明確屬於 MySQL 的項。操作前請 導出註冊表備份 或創建系統還原點。
C:\Windows\my.ini 是否存在,存在則刪除(舊版本可能放此處)%TEMP%、C:\Windows\Temp 下 MySQL 相關文件mysqld 進程、無 3306 端口佔用(netstat -ano | findstr 3306)services.msc) 中無 MySQL 服務| 常見殘留 | 影響 | 清理優先級 |
|---|---|---|
| C:\ProgramData\MySQL 數據目錄 | 重裝讀取舊數據導致密碼錯誤、表結構衝突 | ★★★★★ 必須 |
| 註冊表服務項 | 服務名衝突、啟動類型異常 | ★★★★☆ 強烈建議 |
| C:\Windows\my.ini | 配置被意外讀取覆蓋新配置 | ★★★☆☆ 建議 |
| 環境變量 PATH 殘留 | 命令行調用舊版本 mysql.exe | ★★☆☆☆ 可選 |
為避免 Windows 原生安裝的諸多坑點,生產/開發環境推薦:
docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=xxx -p 3306:3306 mysql:8.0 秒級部署、隔離乾淨、版本切換自由MySQL Windows 卸載的核心難點在於 隱藏數據目錄 (ProgramData) 與註冊表服務項。按本文四步法操作可實現 99%+ 乾淨度。長期來看,拥抱容器化或雲原生部署模式是徹底擺脫「卸載不乾淨」困擾的最優解。