在 Windows 環境下,將 MySQL 註冊為系統服務可實現開機自啟與服務管理器控制。本文說明標準 mysqld-nt --install/--remove 指令,並介紹更強大的 sc.exe 服務控制命令。
# 安裝服務(預設服務名:MySQL)
"${mysql.home}\bin\mysqld-nt" --install
# 移除服務
"${mysql.home}\bin\mysqld-nt" --remove
安裝後可在 services.msc 中看到 MySQL 服務,啟動類型可設為 自動。
sc.exe 是 Windows 內建的服務控制命令列工具,功能遠超 --install:
# 建立服務,指定顯示名稱、啟動類型、二進位路徑、啟動參數
sc create "MySQL57" binPath= "\"C:\MySQL\bin\mysqld.exe\" --defaults-file=C:\MySQL\my.ini" DisplayName= "MySQL 5.7" start= auto
# 查詢服務狀態
sc query "MySQL57"
# 啟動/停止/暫停/繼續
sc start "MySQL57"
sc stop "MySQL57"
sc pause "MySQL57"
sc continue "MySQL57"
# 修改啟動類型
sc config "MySQL57" start= demand
# 修改服務描述
sc description "MySQL57" "MySQL 5.7 Database Server"
# 刪除服務
sc delete "MySQL57"
| 參數 | 說明 |
|---|---|
binPath= | 服務執行檔完整路徑與啟動參數(含引號) |
DisplayName= | 服務管理器顯示名稱 |
start= | auto(自動) / demand(手動) / disabled(停用) |
depend= | 相依服務名稱(以 / 分隔) |
obj= | 執行身分帳號(預設 LocalSystem) |
password= | 帳號密碼 |
sc create 明確指定 --defaults-file,避免設定檔尋找順序導致啟動失敗mysqld --install 適合快速部署;sc.exe 適合自動化腳本、多實例管理與精細化運維。熟悉兩者並靈活選擇,是 Windows 下 MySQL 運維的基本功。