免安裝版無需 MSI 向導,解壓即用,適合開發測試、綠色軟件、多版本共存。本文提供解壓、環境變量、my.ini 標準配置、服務註冊、客戶端連接全流程。
mysql-5.1.xx-win32.zip (或 x64),解壓至 D:\MySQL51D:\MySQL51\bin 加入系統環境變量 Path (系統屬性 → 高級 → 環境變量)my.ini復制 my-small.ini 為 my.ini (同目錄),編輯核心配置:
[client]
port=3306
socket=/tmp/mysql.sock
default-character-set=utf8
[mysqld]
port=3306
socket=/tmp/mysql.sock
default-character-set=utf8
basedir=D:/MySQL51
datadir=D:/MySQL51/data
default-storage-engine=MyISAM
# 以下為常用優化參數 (按內存調整)
key_buffer_size=16M
max_allowed_packet=1M
table_cache=64
sort_buffer_size=512K
net_buffer_length=8K
read_buffer_size=256K
read_rnd_buffer_size=512K
myisam_sort_buffer_size=8M
關鍵點:
basedir = 安裝根目錄,datadir = 數據目錄 (需存在,首次啟動自動初始化)default-character-set=utf8 雙端配置,防中文亂碼/,Windows 原生支持cmd 以管理員身份運行
cd D:\MySQL51\bin
mysqld --initialize-insecure # 5.7+ 語法;5.1 直接啟動會自動初始化
mysqld --install MySQL51 # 註冊 Windows 服務,名稱 MySQL51
net start MySQL51 # 啟動服務
5.1 版本特有**:無 --initialize,首次 mysqld --console 前台運行會自動創建 data 目錄並初始化系統表。
# 方式一:mysqladmin (服務運行中)
mysqladmin -u root password "newpass"
# 方式二:跳過授權表 (忘記密碼時)
net stop MySQL51
mysqld --skip-grant-tables --skip-networking &
mysql -u root
UPDATE mysql.user SET Password=PASSWORD('newpass') WHERE User='root';
FLUSH PRIVILEGES;
net start MySQL51
# 本機
mysql -u root -p -h 127.0.0.1 -P 3306
# 遠程 (需防火牆放行 3306、授權遠程用戶)
mysql -u root -p -h 192.168.1.100 -P 3306
| 維度 | 免安裝版 | 安裝版 (MSI) |
|---|---|---|
| 部署速度 | 秒級解壓即用 | 分鐘級向導安裝 |
| 多版本共存 | 極佳 (不同目錄+不同服務名+不同端口) | 困難 (註冊表衝突) |
| 配置管理 | 手動編輯 my.ini | 向導生成 my.ini |
| 服務註冊 | 手動 mysqld --install | 自動 |
| 適用場景 | 開發測試、CI/CD、綠色攜帶、多版本並行 | 生產環境標準化部署 |
The system cannot find the path specified:basedir/datadir 路徑錯誤或 data 目錄不存在Can't connect to MySQL server:服務未啟動、端口被佔用、防火牆阻攔、skip-networking 開啟my.ini 雙端 utf8、JDBC URL characterEncoding=utf8、表/庫 CHARSET=utf8my.ini:必須手動創建,否則讀取註冊表/默認值導致配置混亂