概述
MySQL Instance Manager (IM) 是早期版本(5.1/5.5)提供的守護進程管理工具,用於監控、啟動/重啟多個 MySQL 實例。MySQL 5.7+ 已移除,現代部署請使用 systemd、Docker、Kubernetes 或 Orchestrator 等方案。本文僅供歷史版本維護參考。
核心選項分類
通用信息選項
| 選項 | 短選項 | 說明 |
--help | -? | 顯示幫助並退出 |
--version | -V | 輸出版本信息並退出 |
--print-defaults | | 打印當前默認值並退出(必須為第一個選項) |
網絡與綁定
| 選項 | 說明 | 默認值 |
--bind-address=IP | 監聽地址 | * |
--port=PORT | TCP 端口 | 2273 (IANA 分配) |
--socket=PATH | Unix Socket 文件 | /tmp/mysqlmanager.sock |
進程與用戶
| 選項 | 說明 |
--user=NAME | 運行用戶(建議與 mysqld 同用戶) |
--pid-file=PATH | PID 文件路徑 |
--run-as-service | 守護進程模式運行(後台化、自動重啟) |
--standalone | Windows 單機模式(非服務) |
配置文件管理
| 選項 | 說明 |
--defaults-file=FILE | 讀取 IM 和 mysqld 配置(必須為第一選項),所有更改寫回此文件 |
--default-mysqld-path=PATH | Unix 下 mysqld 二進制默認路徑(實例配置未指定路徑時使用) |
監控與重啟
| 選項 | 說明 | 默認值 |
--monitoring-interval=SEC | 檢查實例存活間隔(秒) | 20 |
nonguarded | 實例配置選項,禁用對該實例的監控重啟 | |
日志與密碼
| 選項 | 說明 |
--log=PATH | IM 日志文件路徑(配合 --run-as-service) |
--password-file=PATH | IM 用戶/密碼文件 |
--passwd | -P 生成密碼文件並退出 |
Windows 服務控制
| 選項 | 說明 |
--install | 安裝為 Windows 服務 |
--remove | 移除 Windows 服務(需先 --install) |
典型啟動示例
# Linux 守護進程模式
mysqlmanager --defaults-file=/etc/mysqlmanager.cnf \
--run-as-service --user=mysql --pid-file=/var/run/mysqlmanager.pid \
--log=/var/log/mysqlmanager.log --monitoring-interval=30
# Windows 安裝服務
mysqlmanager --install --defaults-file=C:\mysql\mysqlmanager.ini
現代替代方案對比
| 方案 | 適用場景 | 特點 |
| systemd | 單機多實例 | 原生、依賴管理、Socket 激活、日志整合 |
| Docker Compose | 容器化部署 | 隔離性強、版本鎖定、編排簡單 |
| Kubernetes Operator | 雲原生/大規模 | 自動故障轉移、備份、縮放、滾動升級 |
| Orchestrator / MHA | 高可用架構 | 主從切換、拓撲管理、故障檢測 |
遷移建議:仍在使用 IM 的生產環境請盡快規劃遷移至 systemd 或容器化方案,IM 不再接收安全更新。