mysql-5.7.17-winx64.zip (Community Server)。G:\mysql\mysql-5.7 (無中文、無空格路徑)。[mysql]
default-character-set=utf8
[mysqld]
port=3306
basedir=G:\mysql\mysql-5.7
datadir=G:\mysql\mysql-5.7\data
tmpdir=G:\mysql\mysql-5.7\data # ★ 關鍵:缺失會導致啟動失敗
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
explicit_defaults_for_timestamp=1 # 消除 TIMESTAMP 警告
cd /d G:\mysql\mysql-5.7\bin
mysqld --install MySQL57 # 註冊服務名 MySQL57
mysqld --initialize-insecure # 初始化 data 目錄,root 無密碼
net start MySQL57 # 啟動服務
basedir\tmp,缺失會報 Can't create test file 或啟動閃退。data 目錄不存在,服務啟動失敗。mysql -u root -p # 直接回車
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPwd123!';
FLUSH PRIVILEGES;
services.msc → 找 MySQL57 → 右鍵啟動。MySQL57 → 啟動。Path 追加 ;G:\mysql\mysql-5.7\bin
# 之後任意 CMD 直接 mysql / mysqladmin
| 項目 | 命令 | 預期 |
|---|---|---|
| 服務狀態 | sc query MySQL57 | RUNNING |
| 端口監聽 | netstat -ano | findstr 3306 | LISTENING |
| 本地連線 | mysql -uroot -pNewPwd123! -e "SELECT 1;" | 返回 1 |
Windows 免安裝包部署核心在於 my.ini 三路徑 (basedir/datadir/tmpdir) + --initialize-insecure,做對這兩步,啟動成功率 99%+。