針對 MySQL ZIP 免安裝包(no-install),在 Windows 環境下透過命令列快速完成服務註冊、啟動、Root 密碼設定與連線驗證。
D:\MySQL\mysql-5.7.xx-winx64)。my.ini 配置檔放於解壓根目錄(或系統預設讀取路徑),至少指定 basedir、datadir、port。cd D:\MySQL\mysql-5.7.xx-winx64\bin mysqld --install MySQL57 --defaults-file="D:\MySQL\mysql-5.7.xx-winx64\my.ini"
服務名稱可自訂(如 MySQL57),--defaults-file 必須指向正確的 my.ini。
net start MySQL57 net stop MySQL57
mysqladmin -u root -p password 'NewPass123!' Enter password: (直接按 Enter,預設空密碼)
或使用 mysqladmin -u root password 'NewPass123!'(無 -p 參數時不提示舊密碼)。
mysql -u root -p'NewPass123!' -e "SELECT VERSION();"
[mysqld] basedir=D:/MySQL/mysql-5.7.xx-winx64 datadir=D:/MySQL/mysql-5.7.xx-winx64/data port=3306 character-set-server=utf8mb4 default-storage-engine=InnoDB sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION [client] port=3306 default-character-set=utf8mb4
首次啟動前需手動初始化資料目錄(MySQL 5.7+):
mysqld --initialize-insecure --basedir=D:\MySQL\mysql-5.7.xx-winx64 --datadir=D:\MySQL\mysql-5.7.xx-winx64\data
--initialize-insecure 會建立無密碼的 root@localhost,随后用 mysqladmin 設定密碼;若用 --initialize 則會產生隨機密碼(輸出於錯誤日誌)。
data 目錄下 .err 錯誤日誌。bind-address 未綁定 127.0.0.1、防火牆開放 3306、skip-networking 未啟用。character-set-server=utf8mb4 且客戶端連線字元集一致。