MySQL 官方提供免安裝 ZIP 包(mysql-5.7.x-winx64.zip),解壓配置即可運行,適合開發環境、綠色部署、多版本共存。本文記錄從解壓到服務註冊、啟動、密碼初始化的標準化流程。
https://dev.mysql.com/downloads/mysql/5.7.html → Windows (x86, 64-bit), ZIP ArchiveC:\mysql(路徑無空格、無中文)bin/、data/、docs/、include/、lib/、share/、my-default.inimy-default.ini 為 my.ini(同目錄)my.ini,取消註釋關鍵參數並設置路徑:
[mysqld]
basedir=C:/mysql
datadir=C:/mysql/data
port=3306
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
default-storage-engine=INNODB
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
[client]
port=3306
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
basedir/datadir 必須指向實際路徑,否則服務啟動失敗(錯誤 1067)。MYSQL_HOMEC:\mysqlPath,追加:%MYSQL_HOME%\binmysql --version 顯示版本號即成功cd C:\mysql\bin
mysqld --install MySQL57 --defaults-file="C:\mysql\my.ini"
net start MySQL57
常見錯誤:
錯誤 2: 系統找不到指定的文件 → 檢查 my.ini 路徑、basedir/datadir 是否正確、是否在 bin 目錄下執行錯誤 1067: 進程意外終止 → 配置文件語法錯誤或路徑錯誤,查看 data 目錄下 .err 日誌# 服務首次啟動會自動執行初始化,生成臨時 root 密碼
# 查看錯誤日誌獲取臨時密碼
type C:\mysql\data\.err | findstr "temporary password"
# 登錄並修改密碼
mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewStrongPass123!';
FLUSH PRIVILEGES;
mysqld --initialize-insecure --basedir=C:\mysql --datadir=C:\mysql\data --user=mysql
# --initialize-insecure:root 無密碼;--initialize:生成臨時密碼
net start MySQL57
mysql -uroot -p # 直接回車或輸入臨時密碼
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('NewStrongPass123!');
net start MySQL57 # 啟動
net stop MySQL57 # 停止
sc delete MySQL57 # 卸載服務(需管理員權限)
mysql -uroot -p -e "SHOW DATABASES; SELECT VERSION();"
# 或使用 Workbench、Navicat 等 GUI 工具連接
C:\mysql-5.6、C:\mysql-5.7、C:\mysql-8.0MySQL56、MySQL57、MySQL80my.ini 分別配置 basedir/datadir/portPath 僅保留當前主用版本 bin 目錄,切換版本時修改 Path 或用完整路徑調用免安裝版核心三步:解壓 → my.ini 配置 basedir/datadir/字符集 → 註冊服務 → 初始化密碼。避坑關鍵:my.ini 路徑正確、datadir 為空目錄、管理員權限執行 CMD、錯誤日誌定位 1067 故障。配合多版本目錄隔離、服務名端口區分,實現單機多版本共存開發環境。