gh-ost 允許用戶在運行時控制其行為

Interactive interfaces

gh-ost 可以透過以下方式進行監聽:
  • UNIX socket file: gh-ost 運行時會產生 socket file 也可以透過 --server-socket-file 指定位置。
  • TCP:需要帶入 --server-tcp-port 參數

Known commands

  • help:提示可以使用的命令
  • status:返回遷移的進度,和詳細的狀態
  • sup:返回遷移進度的簡要狀態
  • coordinates:返回被檢查 binlog 的 server,最新的position位置
  • chunk-size=<newsize>:修改 chunk-size,將在下一次 copy-iteration 生效
  • dml-batch-size=<newsize>:修改 dml-batch-size,將在下一次應用 binlog event 生效
  • max-lag-millis=<max-lag>:調整 max-lag-millis 的配置
  • max-load=<max-load-thresholds>:修改 max-load 的配置,將在下一次 copy-iteration 生效
  • critical-load=<critical-load-thresholds>:修改 critical-load 的配置
  • nice-ratio=<ratio>:修改 nice-ratio 比例
  • throttle-http:change throttle HTTP endpoint
  • throttle-query:修改 throttle query
  • throttle-control-replicas='replica1,replica2':修改 throttle control replicas
  • throttle:強制進入 throttle 狀態
  • no-throttle:取消強制進入 throttle 狀態,但仍會受其他因素暫停
  • unpostpone:在 gh-ost 推遲 cut-over 階段時,只是 gh-ost 停止推遲並立刻 cut-over
  • panic:立即 panic 並停止操作

Querying for data

對於上述命令在傳遞參數時,設置為 ? 時,可以查詢數據

範例