首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 免安裝版 (No-Install) Windows 部署完整指南:配置、服務註冊、初始化與精簡

     編輯:MySQL 綜合教學

適用版本與下載

  • MySQL 5.1 / 5.5 / 5.6 / 5.7 / 8.0 Windows ZIP 免安裝包(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\                      # 錯誤訊息/字元集檔案

my.ini 核心配置模板


[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

資料庫初始化 (MySQL 5.7.6+ / 8.0)


# 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。
  • 精簡後約 300-400MB (vs 原版 600MB+)。

字元集亂碼防範


# 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/"
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved