用途範例
- 希望遷移完成/失敗時,能夠收到通知
- 希望當
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