使用 dmctl 运维 TiDB Data Migration 集群

使用 dmctl 管理迁移任务 - 图1

注意

对于用 TiUP 部署的 DM 集群,推荐直接使用 tiup dmctl 命令

dmctl 是用来运维 DM 集群的命令行工具,支持交互模式和命令模式。

dmctl 交互模式

进入交互模式,与 DM-master 进行交互:

使用 dmctl 管理迁移任务 - 图2

注意

交互模式下不具有 bash 的特性,比如不需要通过引号传递字符串参数而应当直接传递。

  1. ./dmctl --master-addr 172.16.30.14:8261
  1. Welcome to dmctl
  2. Release Version: ${version}
  3. Git Commit Hash: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  4. Git Branch: release-x.x
  5. UTC Build Time: yyyy-mm-dd hh:mm:ss
  6. Go Version: go version gox.xx linux/amd64
  7. » help
  8. DM control
  9. Usage:
  10. dmctl [command]
  11. Available Commands:
  12. binlog manage or show binlog operations
  13. binlog-schema manage or show table schema in schema tracker
  14. check-task Checks the configuration file of the task
  15. config manage config operations
  16. encrypt Encrypts plain text to cipher text
  17. help Gets help about any command
  18. list-member Lists member information
  19. offline-member Offlines member which has been closed
  20. operate-leader `evict`/`cancel-evict` the leader
  21. operate-source `create`/`stop`/`show` upstream MySQL/MariaDB source
  22. pause-relay Pauses DM-worker's relay unit
  23. pause-task Pauses a specified running task or all (sub)tasks bound to a source
  24. purge-relay Purges relay log files of the DM-worker according to the specified filename
  25. query-status Queries task status
  26. resume-relay Resumes DM-worker's relay unit
  27. resume-task Resumes a specified paused task or all (sub)tasks bound to a source
  28. shard-ddl-lock maintain or show shard-ddl locks information
  29. start-relay Starts workers pulling relay log for a source
  30. start-task Starts a task as defined in the configuration file
  31. stop-relay Stops workers pulling relay log for a source
  32. stop-task Stops a specified task or all (sub)tasks bound to a source
  33. transfer-source Transfers a upstream MySQL/MariaDB source to a free worker
  34. Flags:
  35. -h, --help help for dmctl
  36. -s, --source strings MySQL Source ID.
  37. Use "dmctl [command] --help" for more information about a command.

dmctl 命令模式

命令模式跟交互模式的区别是,执行命令时只需要在 dmctl 命令后紧接着执行任务操作,任务操作同交互模式的参数一致。

使用 dmctl 管理迁移任务 - 图3

注意

  • 一条 dmctl 命令只能跟一个任务操作
  • 从 v2.0.4 版本开始,支持从环境变量 (DM_MASTER_ADDR) 里读取 -master-addr 参数
  1. ./dmctl --master-addr 172.16.30.14:8261 start-task task.yaml
  2. ./dmctl --master-addr 172.16.30.14:8261 stop-task task
  3. ./dmctl --master-addr 172.16.30.14:8261 query-status
  4. export DM_MASTER_ADDR="172.16.30.14:8261"
  5. ./dmctl query-status
  1. Available Commands:
  2. binlog manage or show binlog operations
  3. binlog-schema manage or show table schema in schema tracker
  4. check-task Checks the configuration file of the task
  5. config manage config operations
  6. encrypt Encrypts plain text to cipher text
  7. help Gets help about any command
  8. list-member Lists member information
  9. offline-member Offlines member which has been closed
  10. operate-leader `evict`/`cancel-evict` the leader
  11. operate-source `create`/`stop`/`show` upstream MySQL/MariaDB source
  12. pause-relay Pauses DM-worker's relay unit
  13. pause-task Pauses a specified running task or all (sub)tasks bound to a source
  14. purge-relay Purges relay log files of the DM-worker according to the specified filename
  15. query-status Queries task status
  16. resume-relay Resumes DM-worker's relay unit
  17. resume-task Resumes a specified paused task or all (sub)tasks bound to a source
  18. shard-ddl-lock maintain or show shard-ddl locks information
  19. start-relay Starts workers pulling relay log for a source
  20. start-task Starts a task as defined in the configuration file
  21. stop-relay Stops workers pulling relay log for a source
  22. stop-task Stops a specified task or all (sub)tasks bound to a source
  23. transfer-source Transfers a upstream MySQL/MariaDB source to a free worker
  24. Flags:
  25. --config string Path to config file.
  26. -h, --help help for dmctl
  27. --master-addr string Master API server address, this parameter is required when interacting with the dm-master
  28. --rpc-timeout string RPC timeout, default is 10m. (default "10m")
  29. -s, --source strings MySQL Source ID.
  30. --ssl-ca string Path of file that contains list of trusted SSL CAs for connection.
  31. --ssl-cert string Path of file that contains X509 certificate in PEM format for connection.
  32. --ssl-key string Path of file that contains X509 key in PEM format for connection.
  33. -V, --version Prints version and exit.
  34. Use "dmctl [command] --help" for more information about a command.