MySQL 官方提供 ZIP 免安裝包(無安裝精靈),適合綠色部署、多版本共存、CI/CD 環境。本文記錄解壓、環境變數、my.ini 撰寫、服務註冊、啟動驗證的標準化步驟。
# 例:解壓至 F:\mysql\mysql-5.6.21-winx64\
# 目錄結構:
# bin\ # mysqld.exe, mysql.exe 等
# data\ # 初始為空,首啟自動初始化
# docs\
# include\
# lib\
# share\
Path → 編輯 → 新增:F:\mysql\mysql-5.6.21-winx64\binmysqld --version、mysql --version。在解壓根目錄(與 my-default.ini 同級)建立 my.ini:
[mysql]
default-character-set=utf8
[mysqld]
port = 3306
basedir = F:\mysql\mysql-5.6.21-winx64
datadir = F:\mysql\mysql-5.6.21-winx64\data
max_connections = 200
character-set-server = utf8
default-storage-engine = INNODB
# 如需啟用 Binlog
# log-bin = F:\mysql\mysql-5.6.21-winx64\log\binlog
# server-id = 1
關鍵點:
① 路徑用正斜槓或雙反斜槓,勿含中文/空格。
② basedir 指向解壓根目錄,datadir 指向資料目錄(首啟自動初始化)。
③ character-set-server=utf8 避免 latin1 預設亂碼。
cmd → Ctrl+Shift+Enter(管理員模式)。
mysqld --install MySQL56 --defaults-file="F:\mysql\mysql-5.6.21-winx64\my.ini"
MySQL56:自定義服務名,支援多版本共存(如 MySQL57、MySQL80)。--defaults-file **必須雙連字號**,單連字號會被解析為 -d 參數導致失敗。mysqld --install-manual MySQL56 ...Service successfully installed.
# 啟動
net start MySQL56
# 或 sc start MySQL56
# 停止
net stop MySQL56
# 登入驗證
mysql -u root -p
# 首次無密碼直接 Enter,進入後立即修改密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewStr0ngP@ss!';
FLUSH PRIVILEGES;
| 現象 | 原因/解決 |
|---|---|
| 安裝服務報 "The system cannot find the file specified" | basedir/datadir 路徑錯誤、含中文空格、未用雙引號 |
| 啟動失敗 "The service did not respond..." | datadir 權限問題、my.ini 編碼非 ANSI/UTF-8 BOM、端口被佔用 |
| 連線報 "Can't connect to MySQL server on 'localhost'" | 服務未啟動、bind-address 限制、防火牆攔截 |
| 中文亂碼 | my.ini 未設 character-set-server=utf8、建表未指定 CHARSET |