MySQL 免安裝版(noinstall)適合快速部署、綠色軟體需求或無管理員權限環境。本文提供兩種實戰配置方案,涵蓋從解壓到服務註冊、初始化、編碼設定的完整流程。
mysql-noinstall-5.1.53-win32.zipD:\mysql-noinstall-5.1.53-win32(此為 basedir)根目錄預設提供多種範本,根據記憶體大小選擇一個重命名為 my.ini:
| 範本檔案 | 適用場景 |
|---|---|
| my-small.ini | ≤64MB 記憶體,偶爾使用 MySQL |
| my-medium.ini | 32-64MB 記憶體,MySQL 較重要或共存 Web 服務 |
| my-large.ini | 512MB 記憶體,主跑 MySQL |
| my-huge.ini | 1-2GB 記憶體,專用資料庫伺服器 |
| my-innodb-heavy-4G.ini | 4GB 記憶體,純 InnoDB 複雜查詢 |
編輯 my.ini,在 [mysqld] 區段新增:
basedir = D:/mysql-noinstall-5.1.53-win32
datadir = D:/mysql-noinstall-5.1.53-win32/data
# 進入 bin 目錄
cd D:\mysql-noinstall-5.1.53-win32\bin
# 安裝服務(預設名稱 MySQL)
mysqld --install MySQL
# 移除服務
mysqld --remove MySQL
# 設定自動啟動
sc config MySQL start= auto
net start MySQL # 啟動
net stop MySQL # 關閉
啟動成功後,工作管理器可見 mysqld.exe 進程。
my.ini、bin、data、sharebin 目錄下可刪除所有 .pdb 除錯檔案mysql -uroot
USE mysql;
DELETE FROM user;
GRANT ALL ON *.* TO root@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES;
QUIT;
完成後 root 密碼為 root,並允許遠端登入。
編輯 my.ini:
[mysqld]
character-set-server = utf8 # MySQL 5.5+
default-character-set = utf8 # MySQL 5.5 前
[client]
default-character-set = utf8
例:E:/Program Files/mysql-5.1.58-win32/
[client]
port = 3306
[mysql]
default-character-set = gbk
[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
myisam_max_sort_file_size = 100G
myisam_sort_buffer_size = 35M
key_buffer_size = 23M
read_buffer_size = 64K
read_rnd_buffer_size = 256K
sort_buffer_size = 256K
innodb_data_home_dir = "E:/MySQL Datafiles/"
innodb_additional_mem_pool_size = 2M
innodb_flush_log_at_trx_commit = 1
innodb_log_buffer_size = 1M
innodb_buffer_pool_size = 42M
innodb_log_file_size = 10M
innodb_thread_concurrency = 8
關鍵修改:datadir 與 innodb_data_home_dir 指向同一資料目錄。
mysqld --install mysql --defaults-file="E:/Program Files/mysql-5.1.58-win32/my.ini"
出現 Service successfully installed. 即成功。
net start mysql
mysqld --remove mysql