mysql-VERSION-winx64.zip)。https://dev.mysql.com/downloads/mysql/ → "Windows (x86, 64-bit), ZIP Archive"。
D:\MySQL\mysql-5.7.44\ # 基礎目錄 (basedir)
├── bin\ # 執行檔
├── data\ # 資料目錄 (datadir)
├── my.ini # 配置檔
└── share\ # 錯誤訊息/字元集檔案
[client]
port=3306
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
port=3306
basedir=D:/MySQL/mysql-5.7.44
datadir=D:/MySQL/mysql-5.7.44/data
default-character-set=utf8mb4
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
# 效能基礎 (視記憶體調整)
innodb_buffer_pool_size=2G
innodb_log_file_size=256M
innodb_flush_log_at_trx_commit=2
innodb_flush_method=unbuffered
max_connections=200
# 日誌
log-error=D:/MySQL/mysql-5.7.44/logs/error.log
slow-query-log=1
slow-query-log-file=D:/MySQL/mysql-5.7.44/logs/slow.log
long_query_time=1
# 其他
tmpdir=D:/MySQL/mysql-5.7.44/tmp
explicit_defaults_for_timestamp=1
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO
# 1. 以管理員身分開啟 CMD
cd /d D:\MySQL\mysql-5.7.44\bin
# 2. 註冊服務 (指定配置檔)
mysqld --install MySQL57 --defaults-file="D:\MySQL\mysql-5.7.44\my.ini"
# 成功顯示: Service successfully installed.
# 3. 設定自動啟動
sc config MySQL57 start= auto
# 4. 啟動/停止
net start MySQL57
net stop MySQL57
# 5. 移除服務
mysqld --remove MySQL57
# 1. 初始化資料目錄 (生成隨機 root 密碼輸出至錯誤日誌)
mysqld --initialize --defaults-file="D:\MySQL\mysql-5.7.44\my.ini" --console
# 或不安全模式 (無隨機密碼,需手動設密碼)
mysqld --initialize-insecure --defaults-file="D:\MySQL\mysql-5.7.44\my.ini" --console
# 2. 啟動服務
net start MySQL57
# 3. 登入並修改密碼 (initialize 模式)
# 從錯誤日誌獲取臨時密碼
mysql -uroot -p'臨時密碼' --connect-expired-password
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewStrongPass!';
# 4. 建立遠程用戶 (initialize-insecure 模式直接執行)
mysql -uroot
CREATE USER 'root'@'%' IDENTIFIED BY 'NewStrongPass!';
GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
bin\、data\、share\、my.ini、lib\ (部分 DLL)。docs\、mysql-test\、sql-bench\、*.pdb (除錯符號)、*.exe.manifest。
# my.ini 關鍵三處
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
MySQL 5.5 前用 default-character-set;5.5+ 統一用 character-set-server (server 端) 與 default-character-set (client 端)。
[mysqld]
port=3306
basedir="E:/Program Files/mysql-5.1.58-win32/"
datadir="E:/MySQL Datafiles/"
default-character-set=gbk
default-storage-engine=INNODB
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
max_connections=100
query_cache_size=15M
table_cache=256
tmp_table_size=18M
thread_cache_size=8
key_buffer_size=23M
innodb_buffer_pool_size=42M
innodb_log_file_size=10M
innodb_thread_concurrency=8
# innodb_data_home_dir 必須與 datadir 一致
innodb_data_home_dir="E:/MySQL Datafiles/"