5.7 解壓包不含 data 目錄,需手動初始化生成。
[mysqld] basedir = D:\mysql-5.7.10-winx64 datadir = D:\mysql-5.7.10-winx64\data port = 3306 character-set-server = utf8 default-storage-engine = INNODB max_connections = 200
# 管理員 CMD 進入 bin 目錄 mysqld --initialize --explicit_defaults_for_timestamp # 生成 data 目錄並輸出臨時 root 密碼(必須記錄)
原因:未初始化 data 或 my.ini 路徑錯誤。
解法:刪除 data 目錄內容 → 重新執行 mysqld --initialize → 重啟服務。
5.7 密碼欄位改為 authentication_string,舊法 UPDATE user SET password=... 失效。
正確流程:
net stop mysqlmy.ini [mysqld] 加入 skip-grant-tables,重啟mysql -u rootUSE mysql;
UPDATE user SET authentication_string = PASSWORD('newpass') WHERE user = 'root';
FLUSH PRIVILEGES;
skip-grant-tables,重啟服務,新密碼登入驗證若 5.7 環境問題過多,可下載 5.6 ZIP 包,用其 data 目錄替換 5.7 的 data 後重新初始化,但建議直接升級至 5.7.20+ 版本(已修復多項初始化 Bug)。