mysql-5.7.11-winx64.zip(免安裝壓縮包)C:\Program Files\MySQL\(路徑無中文、空格、特殊字符)# 解壓至 C:\Program Files\MySQL\ # 重命名資料夾為 mysql-5.7.11(版本號便於多版本共存)
# 系統變量 Path 追加 C:\Program Files\MySQL\mysql-5.7.11\bin;
在 MySQL 根目錄新建 my.ini(不再使用 my-default.ini):
[mysqld] # 基礎路徑 basedir=C:/Program Files/MySQL/mysql-5.7.11 datadir=C:/Program Files/MySQL/mysql-5.7.11/data port=3306 # 字符集(生產環境強制 utf8mb4) character-set-server=utf8mb4 collation-server=utf8mb4_general_ci # InnoDB 核心參數(按機器內存調整) innodb_buffer_pool_size=1G innodb_log_file_size=256M innodb_flush_log_at_trx_commit=1 innodb_file_per_table=1 # SQL 模式(5.7 默認嚴格模式,建議保留) sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION [client] default-character-set=utf8mb4 port=3306 [mysql] default-character-set=utf8mb4
# 以管理員身份進入 bin 目錄 cd C:\Program Files\MySQL\mysql-5.7.11\bin # 初始化(--initialize-insecure 生成空密碼 root,生產環境請用 --initialize 並記錄隨機密碼) mysqld --initialize-insecure --console
# 安裝服務(服務名自定義) mysqld install MySQL57 --defaults-file="C:\Program Files\MySQL\mysql-5.7.11\my.ini" # 啟動服務 net start MySQL57
# 登錄(初始無密碼直接回車) mysql -u root -p # 修改密碼(5.7.6+ 語法) ALTER USER 'root'@'localhost' IDENTIFIED BY 'StrongP@ssw0rd!'; FLUSH PRIVILEGES;
mysql -u root -p -e "SELECT VERSION(); SHOW VARIABLES LIKE 'char%';"
| 現象 | 原因 | 解決 |
|---|---|---|
| net start 失敗:系統錯誤 2 | 路徑含空格未加引號 / basedir 錯誤 | my.ini 路徑加雙引號,確認 basedir 指向解壓根目錄 |
| Can't connect to MySQL server on 'localhost' | 服務未啟動 / 防火牆攔截 3306 | net start 檢查狀態,放行防火牆規則 |
| 中文亂碼 | 字符集未統一 utf8mb4 | 檢查 my.ini、連接字符串、表/庫定義三處一致 |
| 忘記 root 密碼 | --skip-grant-tables 重置 | 參考本系列「忘記密碼重置」篇 |
綠色版部署核心在於:**路徑規範、配置文件完整、服務註冊正確、字符集統一、密碼即時修改**。做到這五點,Windows 下 MySQL 穩定運行無憂。