用途範例
- 希望遷移完成/失敗時,能夠收到通知
- 希望當
gh-ost開始推遲cut-over時收到通知
- 希望
gh-ost定期回報進度
使用hook
所有的hook都應該放在
--hooks-path 指定的目錄裡,如果沒有提供則不執行 hook。hook的命名必須為以下前綴:
gh-ost-on-startup
gh-ost-on-validated
gh-ost-on-rowcount-complete
gh-ost-on-before-row-copy
gh-ost-on-status
gh-ost-on-interactive-command
gh-ost-on-row-copy-complete
gh-ost-on-stop-replication
gh-ost-on-start-replication
gh-ost-on-begin-postponed
gh-ost-on-before-cut-over
gh-ost-on-success
gh-ost-on-failure
環境變量
GH_OST_DATABASE_NAME
GH_OST_TABLE_NAME
GH_OST_GHOST_TABLE_NAME
GH_OST_OLD_TABLE_NAME:原始表在 cut-over 之後的名稱
GH_OST_DDL:DDL 語句
GH_OST_ELAPSED_SECONDS:總運行時間
GH_OST_ELAPSED_COPY_SECONDS:Row copy 花費的時間
GH_OST_ESTIMATED_ROWS:估計的行數
GH_OST_COPIED_ROWS:gh-ost 複製的行數
GH_OST_INSPECTED_LAG:replication lag (second)
GH_OST_PROGRESS:遷移的進度 [0...100] %
GH_OST_MIGRATED_HOST
GH_OST_INSPECTED_HOST
GH_OST_EXECUTING_HOST
GH_OST_HOOKS_HINT:--hooks-hint的值
GH_OST_HOOKS_HINT_OWNER:--hooks-hint-owner的值
GH_OST_HOOKS_HINT_TOKEN:--hooks-hint-token的值
GH_OST_DRY_RUN:gh-ost是否是dry run
GH_OST_COMMAND:only available in gh-ost-on-interactive-command
GH_OST_STATUS:only available in gh-ost-on-status