適用 MySQL 5.1~8.0 所有版本。無需安裝精靈,手動配置 my.ini、註冊服務、初始化資料目錄、設定 root 密碼,全流程可控、適合自動化腳本與多版本共存。
E:\MySQL-8.0.33bin\, data\(需手動建立), my.ini(需手動建立)系統屬性 → 進階 → 環境變數 → 系統變數 Path 編輯 → 新增 E:\MySQL-8.0.33\bin
驗證:新開 CMD → mysql --version
在安裝目錄建立 my.ini(同目錄優先於系統目錄):
[mysqld]
# 安裝目錄
basedir=E:/MySQL-8.0.33
# 資料目錄(必須存在)
datadir=E:/MySQL-8.0.33/data
# 預設字符集
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
# 埠口
port=3306
# SQL 模式(建議嚴格模式)
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO
# InnoDB 基礎調優
innodb_buffer_pool_size=1G
innodb_log_file_size=256M
innodb_flush_log_at_trx_commit=1
innodb_file_per_table=1
[client]
default-character-set=utf8mb4
port=3306
[mysql]
default-character-set=utf8mb4
關鍵點:路徑用正斜線
/或雙反斜線\\;datadir目錄必須預先建立且權限正確。
# 以管理員身分開啟 CMD,切換至 bin 目錄
cd E:\MySQL-8.0.33\bin
# 初始化(生成隨機 root 密碼,輸出至錯誤日誌)
mysqld --initialize --console
# 或:初始化為空密碼(不推薦生產)
# mysqld --initialize-insecure --console
輸出範例:[Note] A temporary password is generated for root@localhost: xYz#123Abc → 記錄此密碼。
# 註冊服務(服務名自訂,如 MySQL80)
mysqld --install MySQL80 --defaults-file=E:\MySQL-8.0.33\my.ini
# 啟動服務
net start MySQL80
# 驗證
mysql -u root -p
# 輸入上一步記錄的隨機密碼
# 登入後立即修改密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY 'StrongPass@2024';
FLUSH PRIVILEGES;
# 或執行安全精靈(交互式)
mysql_secure_installation
net stop MySQL80 # 停止
net start MySQL80 # 啟動
sc delete MySQL80 # 移除服務(需先停止)
E:\MySQL-5.7, E:\MySQL-8.0MySQL57, MySQL803307, 3308(在各自 my.ini 設定)--defaults-file 確保配置隔離生產環境強烈建議 Linux(效能、穩定、工具鏈完善)。Windows 適合開發、測試、小型內部應用。
綠色版部署最大優勢:版本可控、配置透明、便於打包分發、無註冊表污染。