MySQL Instance Manager (IM) 為多實例託管服務,透過單一配置檔管理多個 mysqld 實例生命週期(啟動/監控/重啟/關閉)。
/etc/my.cnfmy.ini--defaults-file=path 指定替代路徑。[manager]
default-mysqld-path = /usr/local/mysql/libexec/mysqld
socket = /tmp/manager.sock
pid-file = /tmp/manager.pid
password-file = /home/cps/.mysqlmanager.passwd
monitoring-interval = 2
port = 1999
bind-address = 192.168.1.5
| 參數 | 說明 |
|---|---|
default-mysqld-path | 預設 mysqld 二進制路徑,實例未指定時使用 |
socket | IM 監聽 Unix socket,客戶端連接管理介面用 |
password-file | IM 管理帳號密碼檔,格式 user:password |
monitoring-interval | 健康檢查間隔(秒),偵測掛起實例 |
port | IM 監聽 TCP 端口 (預設 2273) |
每個區段定義一個 mysqld 實例啟動參數,支援標準 mysqld 選項 + IM 專屬選項:
| IM 專屬選項 | 說明 |
|---|---|
mysqld-path | 覆蓋 default-mysqld-path,指定該實例專用二進制 |
shutdown-delay | 關閉等待秒數 (預設 35s),大表 InnoDB 建議調大 |
nonguarded | 禁用 IM 監控/自動重啟,純手動管理 |
[mysqld]
mysqld-path = /usr/local/mysql/libexec/mysqld
socket = /tmp/mysql.sock
port = 3307
server_id = 1
skip-stack-trace
core-file
skip-bdb
log-bin
log-error
log = mylog
log-slow-queries
[mysqld2]
nonguarded
port = 3308
server_id = 2
mysqld-path = /home/cps/mysql/trees/mysql-5.1/sql/mysqld
socket = /tmp/mysql.sock5
pid-file = /tmp/hostname.pid5
datadir = /home/cps/mysql_data/data_dir1
language = /home/cps/mysql/trees/mysql-5.1/sql/share/english
log-bin
log = /tmp/fordel.log
# 啟動 IM
mysqlmanager --defaults-file=/etc/my.cnf &
# 連接管理介面
mysql -h 127.0.0.1 -P 1999 -u admin -p
# 管理指令 (在管理介面執行)
START INSTANCE mysqld;
STOP INSTANCE mysqld2;
SHOW INSTANCES;
password-file 權限必須 600,僅 IM 進程用戶可讀。