無 MSI 安裝包,通過解壓 + my.ini + 環境變量 + 服務註冊實現生產級部署,適用於無管理員權限或自動化腳本場景。
C:\mysql\
├── bin\ # 可執行文件
├── data\ # 數據目錄(初始為空)
├── docs\
├── include\
├── lib\
├── scripts\
├── share\
└── my.ini # 核心配置文件
[mysqld]
# 必須去掉前面的 # 註釋符
basedir=C:/mysql
datadir=C:/mysql/data
port=3306
# 字符集
character-set-server=utf8
collation-server=utf8_general_ci
# InnoDB 核心參數
innodb_buffer_pool_size=1G
innodb_log_file_size=256M
innodb_flush_log_at_trx_commit=1
innodb_file_per_table=1
# 連接數
max_connections=500
[client]
port=3306
default-character-set=utf8
[mysql]
default-character-set=utf8
注意:路徑使用正斜槓 / 或雙反斜槓 \\,basedir/datadir 前必須去掉 #,否則啟動失敗報錯 1067。
MYSQL_HOME=C:\mysqlPath,末尾追加:;%MYSQL_HOME%\bin;(分號分隔,勿刪除原值)
REM 以管理員身份運行 CMD
cd C:\mysql\bin
REM 安裝服務(指定配置文件)
mysqld --install MySQL --defaults-file="C:\mysql\my.ini"
REM 啟動
net start MySQL
REM 停止
net stop MySQL
REM 卸載
sc delete MySQL
REM 或
mysqld --remove MySQL
| 錯誤碼 | 含義 | 排查方向 |
|---|---|---|
| 錯誤 2:系統找不到文件 | 配置文件路徑錯或未在 bin 目錄執行 | 檢查 --defaults-file 路徑、cd 到 bin 目錄、重裝服務 |
| 錯誤 1067:進程意外終止 | my.ini 配置錯誤(路徑、參數、字符集) | 查看事件查看器 → Windows Logs → Application,或 data 目錄下 .err 日志 |
| Can't connect to ... mysql.sock | Windows 無 socket,連接參數錯誤 | 客戶端指定 --protocol=tcp 或 127.0.0.1 而非 localhost |
REM 5.6 版本
mysqld --initialize-insecure --user=mysql --basedir=C:\mysql --datadir=C:\mysql\data
REM 5.7+ 版本(生成隨機 root 密碼)
mysqld --initialize --user=mysql --basedir=C:\mysql --datadir=C:\mysql\data
初始化後 data 目錄生成 ibdata1、ib_logfile*、mysql 系統庫等文件。
mysql -uroot -p # 5.6 初始密碼為空,直接回車
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
FLUSH PRIVILEGES;
手動部署看似繁瑣,實則每步可控、便於腳本化、Dockerfile 化,是自動化運維的基石。