安裝/重裝 MySQL 5.0 後,服務啟動失敗,事件查看器顯示 Error 1607: Unable to install InstallShield Scripting Runtime 或服務管理器 錯誤 1607:進程意外中止。
mysqld 進程仍在運行、Windows 服務未移除netstat -ano | findstr 3306 → 找到 PID → taskkill /PID /F 1607,或服務註冊後啟動即崩
# 1. 停止並移除服務
net stop MySQL
sc delete MySQL
# 2. 殺掉殘留進程
taskkill /IM mysqld.exe /F
taskkill /IM mysqld-nt.exe /F
# 3. 刪除安裝目錄、數據目錄(備份數據先!)
rmdir /s /q "C:\Program Files\MySQL\MySQL Server 5.0"
rmdir /s /q "C:\ProgramData\MySQL\MySQL Server 5.0"
# 4. 清理註冊表(謹慎)
reg delete "HKLM\SYSTEM\CurrentControlSet\Services\MySQL" /f
reg delete "HKLM\SOFTWARE\MySQL AB" /f
reg delete "HKLM\SOFTWARE\Wow6432Node\MySQL AB" /f
# 1. 解壓至 D:\MySQL\5.0
# 2. 建立 my.ini(參考 179418 範本)
# 3. 初始化
cd /d D:\MySQL\5.0\bin
mysqld --initialize-insecure --basedir=D:/MySQL/5.0 --datadir=D:/MySQL/5.0/data
# 4. 註冊服務(指定端口 3309 避開衝突)
mysqld --install MySQL50 --defaults-file="D:\MySQL\5.0\my.ini"
# 5. 啟動
net start MySQL50
# my.ini
[mysqld]
port=3309
socket=mysql50.sock
# ...
[client]
port=3309
socket=mysql50.sock
客戶端連線:mysql -u root -P 3309 --protocol=tcp 或配置 phpMyAdmin config.inc.php: $cfg['Servers'][$i]['port'] = 3309;
net start MySQL50 成功mysql -u root -P 3309 -e "SELECT VERSION();" 返回 5.0.xSHOW VARIABLES LIKE 'port'; 顯示 3309MySQL 5.0 於 2011 年終止支援,**存在嚴重安全漏洞(CVE-2012-2122 等)、無法應對現代負載**。除非極端舊系統維護,強烈建議遷移至 **MySQL 5.7 / 8.0 / MariaDB 10.6+**。遷移路徑:
mysqldump導出 → 目標版本導入 → 應用兼容性測試 → 灰度切換。
1607 = 端口衝突 + InstallShield 環境問題。徹底清理殘留 → 改用 ZIP 免安裝包 → 修改端口避衝 → 註冊服務指定 --defaults-file。長期視角:規劃升級淘汰 5.0。