Maintain DM Clusters Using dmctl

Manage Using dmctl - 图1

Note

For DM clusters deployed using TiUP, you are recommended to directly use tiup dmctl to maintain the clusters.

dmctl is a command line tool used to maintain DM clusters. It supports both the interactive mode and the command mode.

Interactive mode

Enter the interactive mode to interact with DM-master:

Manage Using dmctl - 图2

Note

The interactive mode does not support Bash features. For example, you need to directly pass string flags instead of passing them in quotes.

  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.

Command mode

The command mode differs from the interactive mode in that you need to append the task operation right after the dmctl command. The parameters of the task operation in the command mode are the same as those in the interactive mode.

Manage Using dmctl - 图3

Note

  • A dmctl command must be followed by only one task operation.
  • Starting from v2.0.4, DM supports reading the -master-addr parameter from the environment variable DM_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.