MySQL 5.6 / 5.7 / 8.0 Windows x64 ZIP Archive (免安裝版)。
D:\mysql-8.0.36 (路徑勿含中文、空格)。複製解壓目錄下的 my-default.ini 為 my.ini (或新建),編輯核心參數:
[mysqld]
# 安裝目錄 (使用正斜線或雙反斜線)
basedir=D:/mysql-8.0.36
# 資料目錄 (必須存在,初始化時會建立)
datadir=D:/mysql-8.0.36/data
# 連接埠
port=3306
# 字元集 (8.0 預設 utf8mb4,5.7 需顯式設定)
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
# SQL 模式
sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
# InnoDB 設定 (按記憶體調整)
innodb_buffer_pool_size=1G
innodb_log_file_size=256M
innodb_flush_log_at_trx_commit=1
innodb_file_per_table=ON
[client]
default-character-set=utf8mb4
port=3306
[mysql]
default-character-set=utf8mb4
# 以管理員身份開啟 CMD/PowerShell
cd D:\mysql-8.0.36\bin
# 5.7 / 8.0 初始化 (生成臨時 root 密碼,輸出至 .err 日誌)
mysqld --initialize --console --defaults-file="D:\mysql-8.0.36\my.ini"
# 或不生成臨時密碼 (不安全,僅測試用)
# mysqld --initialize-insecure --console --defaults-file="D:\mysql-8.0.36\my.ini"
務必記錄輸出的臨時密碼 (如 [Note] A temporary password is generated for root@localhost: xYz123!@#)。
# 自動啟動
mysqld --install MySQL80 --defaults-file="D:\mysql-8.0.36\my.ini"
# 手動啟動
# mysqld --install-manual MySQL80 --defaults-file="D:\mysql-8.0.36\my.ini"
# 參數說明:
# --install 服務名 --defaults-file="完整路徑" (雙連字號、雙引號、路徑含空格必加引號)
# 啟動
net start MySQL80
# 登入 (使用臨時密碼)
mysql -u root -p
# Enter password: (輸入臨時密碼)
# 修改密碼 (8.0+)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewStrongPass123!';
FLUSH PRIVILEGES;
# 5.7
SET PASSWORD = PASSWORD('NewStrongPass123!');
FLUSH PRIVILEGES;
mysql_secure_installation
# 依提示:修改密碼、移除匿名用戶、禁止 root 遠程、移除 test 庫、重載權限
| 操作 | 指令 |
|---|---|
| 啟動服務 | net start MySQL80 / sc start MySQL80 |
| 停止服務 | net stop MySQL80 |
| 重啟服務 | net stop MySQL80 && net start MySQL80 |
| 連線測試 | mysql -u root -p -e "SELECT VERSION();" |
| 移除服務 | net stop MySQL80 && mysqld --remove MySQL80 |
my.ini 設定 bind-address = 0.0.0.0 (或具體內網 IP),重啟服務。CREATE USER 'app'@'%' IDENTIFIED BY 'Pass123!'; GRANT ALL ON app_db.* TO 'app'@'%'; FLUSH PRIVILEGES;| 現象 | 原因 | 解決 |
|---|---|---|
| --defaults-file 路徑錯誤 | 單連字號 -defaults、路徑未加引號、含空格 | 雙連字號 --、雙引號包裹 |
| 初始化失敗 datadir 不存在 | data 目錄未建立、路徑錯誤 | 手動建立 data 目錄、確認 my.ini 路徑 |
| 服務啟動即停止 | 配置錯誤、埠口佔用、權限不足 | 查看 .err 日誌、netstat -ano \| findstr 3306、以管理員執行 |
| 中文亂碼 | character-set-server 未設 utf8mb4 | 修改 my.ini 重啟、重建表 CONVERT TO utf8mb4 |