MySQL 5.7 引入了眾多新特性與安全增強,但在 Windows 環境下安裝時存在一些「新坑」,本文將從下載、安裝、配置、初始化到驗證的完整流程進行詳細記錄,助你一次成功部署。
MySQL 安裝目錄嚴禁包含空格、中文、連字符(-)、點(.)等特殊字符,建議使用純英文路徑,如 D:\mysql\mysql57。
解壓包自帶 my-default.ini,直接修改此文件即可,無需另建 my.ini。實測自建 my.ini 會導致服務啟動失敗。
bin 目錄添加到系統 Path 變量cd D:\mysql\mysql57\bin mysqld install MySQL --defaults-file="D:\mysql\mysql57\my-default.ini"
成功提示:Service successfully installed.
mysqld --initialize --console
輸出末尾會顯示 root 臨時密碼,格式如:
2016-07-16T04:14:27.448186Z 1 [Note] A temporary password is generated for root@localhost: ?wxxx
務必記錄此密碼,也可在 data 目錄下 *.err 日誌文件中查找。
net start mysql # 啟動 net stop mysql # 停止
mysql -u root -p # 輸入臨時密碼後執行: ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewStrongPass123!';
-- 創建用戶 CREATE USER 'app_user'@'%' IDENTIFIED BY 'StrongPass456!'; -- 創建業務數據庫 CREATE DATABASE online_shopping CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; -- 授權(遵循最小權限原則) GRANT SELECT, INSERT, UPDATE, DELETE, EXECUTE ON online_shopping.* TO 'app_user'@'%'; -- 刷新權限 FLUSH PRIVILEGES;
| 現象 | 原因 | 解決方案 |
|---|---|---|
| 服務啟動失敗 | 配置文件路徑錯誤/權限不足 | 檢查 --defaults-file 路徑;以管理員運行 CMD |
| 無法連接 | 防火牆阻攔 3306 端口 | 防火牆入站規則放行 3306 |
| 密碼策略報錯 | validate_password 插件強制複雜度 | 修改密碼滿足:長度≥8、含大小寫、數字、特殊字符 |
| 中文亂碼 | 字符集未統一 | 配置文件與數據庫均設為 utf8mb4 |
[mysqld] basedir=D:/mysql/mysql57 datadir=D:/mysql/mysql57/data port=3306 character_set_server=utf8mb4 default_storage_engine=InnoDB innodb_buffer_pool_size=1G # 物理內存 50%-70% innodb_log_file_size=256M innodb_flush_log_at_trx_commit=1 sync_binlog=1 max_connections=500 sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION log_error=error.log slow_query_log=1 slow_query_log_file=slow.log long_query_time=2
Windows 下部署 MySQL 5.7 關鍵在於:規範目錄、用好 my-default.ini、管理員權限、妥善保管臨時密碼、遵循最小權限原則創建業務賬號。按本文流程操作可避開 90% 的安裝坑點,為後續穩定運行奠定基礎。