針對 MySQL 5.7.x 免安裝包(以 5.7.15 為例),提供最精簡的部署步驟,適合快速搭建開發測試環境。
# 下載鏈接(CDN 加速)
https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.15-winx64.zip
# 解壓至目標目錄
D:\software\mysql\mysql57a\
my-default.ini → my.inimy.ini 僅保留核心三項:[mysqld]
basedir = "D:/software/mysql/mysql57a"
datadir = "D:/software/mysql/mysql57a/data"
port = 3308
關鍵:手動創建 data 空目錄。
cd D:\software\mysql\mysql57a\bin
mysqld -install mysql57a
mysqld --initialize
--initialize 生成 data 目錄結構與隨機 root 密碼data\主機名.err,搜索 temporary password
net start mysql57a
mysql -u root -p -P 3308
# 輸入隨機密碼登錄
my.ini 在 [mysqld] 添加 skip-grant-tablesnet stop mysql57a && net start mysql57amysql -u root -P 3308(無需密碼)USE mysql;
UPDATE user SET authentication_string = PASSWORD('root') WHERE User = 'root';
FLUSH PRIVILEGES;
skip-grant-tables,重啟服務mysql -u root -proot -P 3308 驗證新密碼mysql -u root -p -P 3308
# 輸入隨機密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass123!';
FLUSH PRIVILEGES;
mysql -u root -proot -P 3308 -e "SELECT VERSION(); SHOW DATABASES;"
將上述步驟封裝為 deploy_mysql57.bat,參數化安裝路徑、端口、服務名、密碼,實現一鍵部署:
@echo off
set BASEDIR=D:\software\mysql\mysql57a
set PORT=3308
set SVCNAME=mysql57a
set NEWPASS=RootPass123!
cd /d %BASEDIR%\bin
mysqld -install %SVCNAME%
mysqld --defaults-file="%BASEDIR%\my.ini" --initialize --explicit_defaults_for_timestamp
net start %SVCNAME%
# 此處需解析 .err 文件獲取隨機密碼,或使用 skip-grant-tables 流程
echo 部署完成,請手動重置密碼
免安裝包部署無註冊表污染、支援多版本共存、便於容器化與自動化運維,是現代化部署首選方式。