暂停 TiDB Data Migration 数据迁移任务

pause-task 命令用于暂停数据迁移任务。

暂停任务 - 图1

注意

有关 pause-task 与 stop-task 的区别如下:

  • 使用 pause-task 仅暂停迁移任务的执行,但仍然会在内存中保留任务的状态信息等,且可通过 query-status 进行查询;使用 stop-task 会停止迁移任务的执行,并移除内存中与该任务相关的信息,且不可再通过 query-status 进行查询,但不会移除已经写入到下游数据库中的数据以及其中的 checkpoint 等 dm_meta 信息。
  • 使用 pause-task 暂停迁移任务期间,由于任务本身仍然存在,因此不能再启动同名的新任务,且会阻止对该任务所需 relay log 的清理;使用 stop-task 停止任务后,由于任务不再存在,因此可以再启动同名的新任务,且不会阻止对 relay log 的清理。
  • pause-task 一般用于临时暂停迁移任务以排查问题等;stop-task 一般用于永久删除迁移任务或通过与 start-task 配合以更新配置信息。
1. help pause-task
1. pause a specified running task

3. Usage:
4. dmctl pause-task [-s source ...] <task-name | task-file> [flags]

6. Flags:
7. -h, --help   help for pause-task

9. Global Flags:
10. -s, --source strings   MySQL Source ID

命令用法示例

1. pause-task [-s "mysql-replica-01"] task-name

参数解释

  • -s:
  • 可选
  • 指定在特定的一个 MySQL 源上暂停数据迁移任务的子任务
  • 如果设置,则只暂停该任务在指定 MySQL 源上的子任务
  • task-name| task-file:
  • 必选
  • 指定任务名称或任务文件路径

返回结果示例

1. pause-task test
1. {
2. "op": "Pause",
3. "result": true,
4. "msg": "",
5. "sources": [
6. {
7. "result": true,
8. "msg": "",
9. "source": "mysql-replica-01",
10. "worker": "worker1"
11. }
12. ]
13. }