MSI 安裝包常因路徑含中文、權限不足導致「無法寫入配置文件」失敗。免安裝版(ZIP/解壓包)綁定性強、部署快,適合開發測試與輕量生產。本文記錄完整配置步驟。
# 解壓至自定義目錄(無中文、無空格)
D:\mysql-5.6.25-winx64
在解壓根目錄新建 my.ini:
[client]
port = 3306
default-character-set = utf8
[mysqld]
port = 3306
character_set_server = utf8
basedir = D:\mysql-5.6.25-winx64
datadir = D:\mysql-5.6.25-winx64\data
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[WinMySQLAdmin]
D:\mysql-5.6.25-winx64\bin\mysqld.exe
關鍵點: basedir 指向解壓根目錄,datadir 指向數據目錄(首次啟動會自動初始化)。
MYSQL_HOME = D:\mysql-5.6.25-winx64Path,追加:%MYSQL_HOME%\bin# 以管理員身份打開 CMD
cd /d D:\mysql-5.6.25-winx64\bin
# 安裝服務(指定配置文件)
mysqld install MySQL --defaults-file="D:\mysql-5.6.25-winx64\my.ini"
# 顯示 "Service successfully installed."
# 啟動服務
net start MySQL
# 或:sc start MySQL
# 或:services.msc 圖形界面啟動
# 登錄(首次無密碼)
mysql -u root
# 修改密碼
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
# 5.6 版本用:
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');
mysql> FLUSH PRIVILEGES;
# 刪除匿名用戶、禁止 root 遠程登錄、刪除 test 庫(可選)
mysql> DELETE FROM mysql.user WHERE User='';
mysql> DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost','127.0.0.1','::1');
mysql> DROP DATABASE test;
mysql> FLUSH PRIVILEGES;
mysql -u root -p
# 輸入密碼,進入交互模式即成功
| 現象 | 原因 | 解決 |
|---|---|---|
| net start 失敗 | 配置文件路徑錯誤、datadir 未初始化 | 檢查 my.ini basedir/datadir、刪除 data 目錄重新安裝服務 | 端口 3306 被佔用 | 其他 MySQL 實例、防火牆 | netstat -ano | findstr 3306,殺進程或改端口 |
| 中文亂碼 | 字符集不一致 | my.ini 統一 utf8/utf8mb4、表/庫創建時指定 CHARSET |
net stop MySQL
mysqld remove MySQL
# 刪除安裝目錄、data 目錄、環境變數
免安裝版本質是「綠色部署」,掌握 my.ini、basedir/datadir、服務註冊三要素,即可在任何 Windows 機器上快速拉起 MySQL。