下載與安裝 (Windows 10/11 / Server 2019/2022)
官方安裝包獲取
- 官網:https://dev.mysql.com/downloads/mysql/
- 選擇 **MySQL Installer for Windows** (網絡安裝 `mysql-installer-web-community` / 完整包 `mysql-installer-community`),**強烈推薦** — 圖形化、組件管理、樣本配置、驅動下載一站式。
- 或下載 **ZIP 免安裝包** (適合綠色部署、多版本共存、容器構建)。
MySQL Installer 圖形化安裝流程
- 雙擊 `mysql-installer-community-8.0.x.msi` 運行。
- 選擇 **Developer Default** (開發預設) — 包含 Server、Workbench、Shell、Router、Connector/NET、Connector/J、Samples、Documentation。
- 檢查需求:Visual C++ Redistributable、Python (可選) — Installer 會自動下載安裝缺失組件。
- **Type and Networking**:
- Config Type: Development Computer / Server Computer / Dedicated Computer (影響記憶體預設值)。
- Connectivity: TCP/IP (Port 3306)、Named Pipe、Shared Memory — 全選。
- Firewall: 自動開啟 3306 入站規則 (勾選)。
- **Authentication Method**:
- Strong Password Encryption (caching_sha2_password) — **推薦**,8.0 預設。
- Legacy Authentication (mysql_native_password) — 僅兼容舊驅動。
- **Accounts and Roles**:
- Root Password: 設置強密碼 (必填)。
- MySQL User Accounts: 可選創建額外用戶 (如 `app_user` / `readonly`)。
- Windows Service: 服務名 `MySQL80`,勾選 **Start at Boot**、**Run as Standard User** (非 SYSTEM,更安全)。
- **Apply Configuration** → 執行初始化、安裝服務、啟動服務、應用配置。
- 完成:記錄 Root 密碼、服務名、安裝路徑、數據目錄。
ZIP 免安裝包手動部署 (進階/自動化)
# 1. 解壓至目標目錄
unzip mysql-8.0.36-winx64.zip -d C:\MySQL\8.0.36
# 2. 創建 my.ini (放在解壓根目錄或 C:\ProgramData\MySQL\MySQL Server 8.0\)
# 內容參考「Windows MySQL 服務配置」文章模板,關鍵修改 basedir/datadir
# 3. 初始化數據目錄 (生成隨機 root 密碼)
cd C:\MySQL\8.0.36\bin
mysqld --initialize-insecure --console
# 或 --initialize 生成隨機密碼 (輸出至 .err 日誌)
# 4. 安裝服務
mysqld --install MySQL80 --defaults-file="C:\MySQL\8.0.36\my.ini"
# 5. 啟動服務
net start MySQL80
# 6. 修改 root 密碼 (若用 --initialize-insecure)
mysql -u root --skip-password
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewStrongPass123!';
FLUSH PRIVILEGES;
服務啟動與驗證 (三種方式)
| 方式 | 命令/操作 | 適用場景 |
| 系統服務 | net start MySQL80 / services.msc | 生產、開機自啟 |
| 前台控制台 | mysqld --console | 調試、臨時測試、查看即時日誌 |
| MySQL Notifier | 系統托盤圖標 → Start/Stop | 圖形化管理、狀態監控 |
連線驗證 (四層遞進)
1. 埠號存活
telnet localhost 3306
# 或 PowerShell
Test-NetConnection -ComputerName localhost -Port 3306
2. 客戶端連線
mysql -u root -p
# 輸入密碼 → mysql> 提示符
3. 系統庫驗證
mysql> SHOW DATABASES;
mysql> USE mysql;
mysql> SHOW TABLES;
mysql> SELECT User, Host, plugin FROM user;
4. 工具驗證
- mysqlshow:`mysqlshow -u root -p` 列出庫;`mysqlshow -u root -p mysql` 列出 mysql 庫表。
- mysqladmin:`mysqladmin -u root -p version status processlist` 顯示版本、狀態、線程。
- MySQL Workbench:圖形化建模、查詢、管理、效能儀表板 — **開發者必裝**。
關閉服務正確姿勢
# 優雅關閉 (推薦)
mysqladmin -u root -p shutdown
# 服務管理器
net stop MySQL80
# 若報 1067 但實際已停,參考「1067 錯誤」文章用 mysqladmin shutdown
常見安裝失敗排查
| 現象 | 原因 | 解決 |
| Installer 卡在「Applying Configuration」 | 權限不足 / 端口佔用 / 杀毒軟件攔截 | 以管理員運行;關閉 360/火綜合;netstat -ano | findstr 3306 |
| 服務啟動即停 (1067) | my.ini 路徑錯誤 / basedir/datadir 不匹配 / 權限 | 刪除 C:\Windows\my.ini、C:\my.ini;檢查 my.ini 路徑;icacls 授權 |
| Root 密碼忘記 | --initialize 生成的隨機密碼未記錄 | --skip-grant-tables 重置 (參考「密碼重置」文章) |
| Workbench 連不上 | SSL 模式不匹配 / SSH 隧道未配置 | Connection Method: Standard TCP/IP; SSL: No/If Available |
| 中文亂碼 | 字元集未統一 utf8mb4 | my.ini 設置 character-set-server=utf8mb4;連線指定 --default-character-set=utf8mb4 |
安裝後必做 5 件事
- 修改 root 密碼:若安裝時未設置或用弱密碼。
- 建立業務用戶:`CREATE USER 'app'@'%' IDENTIFIED BY '...'; GRANT ... ON biz_db.* TO 'app'@'%';`
- 配置遠程訪問:`bind-address=0.0.0.0` (my.ini) + 防火牆放行 3306 + 用戶 Host 設 `%`。
- 啟用慢查詢日誌:`slow_query_log=1; long_query_time=2; slow_query_log_file=...`
- 備份 my.ini:複製至版本庫/配置中心,實現基礎設施即代碼。
Windows 下 MySQL 安裝已高度自動化,**MySQL Installer + 官方文檔 + 避坑指南** 三位一體,足以支撐從筆記本開發環境到生產應用服務器的全生命週期部署。關鍵在於:理解服務模式 vs 前台模式、掌握 my.ini 定位規則、建立標準化驗證流程、養成配置版本化習慣。