版本建議: 生產環境優先 LTS 版本(8.0 LTS / 5.7),新項目推薦 8.0。
# 解壓至 E:\mysql (示例) # 重命名解壓目錄為 mysql # 將 my-default.ini 複製並重命名為 my.ini
[mysqld] # 安裝目錄 basedir=E:\\mysql # 數據目錄 datadir=E:\\mysql\\data # 端口 port=3306 # 字符集 character_set_server=utf8mb4 # 默認存儲引擎 default_storage_engine=InnoDB # SQL 模式(生產建議嚴格模式) 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
E:\mysql\bin; 分隔,勿覆蓋原有路徑cd /d E:\mysql\bin # 開發環境:無密碼初始化 mysqld --initialize-insecure --console # 生產環境:隨機密碼 # mysqld --initialize --console
# 安裝服務 mysqld --install MySQL80 # 啟動服務 net start MySQL80 # 驗證 mysql -u root -p # initialize-insecure 直接回車,initialize 輸入隨機密碼(查看 .err 日誌)
-- 5.7/8.0 通用語法 ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewStrongPass123!'; FLUSH PRIVILEGES;
| 現象 | 原因 | 解決 |
|---|---|---|
| net start 失敗 3534 | data 目錄非空/未初始化 | 清空 data 重新 initialize |
| Can't connect to MySQL server | 服務未啟動/端口錯誤/防火牆 | net start / 檢查 3306 / 放行防火牆 |
| Access denied for user 'root' | 密碼錯誤/權限表異常 | skip-grant-tables 重置密碼 |
| Unknown database | 未創建數據庫 | CREATE DATABASE ... |
mysql_secure_installationDELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost','127.0.0.1','::1');