圖形介面:服務管理器 (services.msc)
- Win+R →
services.msc → Enter
- 尋找 MySQL (或
MySQL80、MySQL57 等實例名)
- 右鍵選單:
- 啟動:服務狀態變為「正在運行」
- 停止:服務狀態變為「已停止」
- 重新啟動:停止後啟動
- 暫停/繼續:不建議使用,可能導致連線殭屍
屬性配置:啟動類型與恢復策略
右鍵 MySQL 服務 → 屬性:
| 分頁 | 關鍵設定 | 建議值 |
| 一般 | 啟動類型 | 自動 (開機自啟) / 自動(延遲啟動) / 手動 |
| 一般 | 服務狀態 | 啟動/停止/暫停/繼續按鈕 |
| 登入 | 登入身分 | 本機系統帳戶 / 指定網域帳戶 (需 Log on as service 權限) |
| 恢復 | 第一/二/三次失敗 | 重新啟動服務 (延遲 1 分鐘) → 執行程式 (告警腳本) → 重新啟動服務 |
| 相依性 | 相依服務 | 確認無循環相依 |
命令列操作 (CMD / PowerShell 需管理員權限)
# 啟動
net start mysql
sc start mysql
# 停止
net stop mysql
sc stop mysql
# 查詢狀態
sc query mysql
# STATE: RUNNING / STOPPED / PAUSED
# 重新啟動 (單行)
net stop mysql && net start mysql
# 修改啟動類型
sc config mysql start= auto
sc config mysql start= demand # 手動
MySQL 專用控制腳本 (mysqld_safe / systemd)
| 環境 | 啟動 | 停止 | 重啟 |
| Linux systemd | systemctl start mysqldsystemctl stop mysqldsystemctl restart mysqld
| Linux SysVinit | service mysql startservice mysql stopservice mysql restart
| mysqld_safe (通用) | mysqld_safe --user=mysql &mysqladmin -u root -p shutdownmysqladmin shutdown && mysqld_safe --user=mysql &
| Windows 安裝目錄 | "C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe"taskkill /f /im mysqld.exetaskkill /f /im mysqld.exe && "C:\...\mysqld.exe"
驗證服務狀態
# 連線測試
mysql -u root -p -e "SELECT VERSION();"
# 進程檢查
# Windows
tasklist | findstr mysqld
# Linux
ps -ef | grep mysqld
systemctl status mysqld
# 埠口檢查
netstat -an | findstr 3306
ss -ltnp | grep 3306
最佳實踐建議
- 生產環境 務必設為「自動」啟動,並配置「恢復」分頁自動重啟。
- 避免使用「暫停」功能,MySQL 不支援優雅暫停,易導致連線池殭屍、事務卡死。
- 維護窗口停止服務前,先
FLUSH TABLES WITH READ LOCK 確保資料落盤 (若非 InnoDB 唯讀)。
- 監控系統納入服務狀態檢查 (systemd/SC/WinRM),異常即時告警。
服務管理是運維基礎,也是故障處理第一步。熟練掌握圖形、命令、腳本三種方式,並在自動化腳本中統一使用 systemctl/net/sc,確保跨環境一致性。