DM 如何跳过主键冲突

【 TiDB 使用环境】生产环境
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】

使用handle-error --binlog-pos 命令来跳过

用endLocation 吗?

startLocation

有文档地址吗

https://docs.pingcap.com/zh/tidb-data-migration/v5.3/handle-failed-ddl-statements#命令介绍

我这版本v6.5.1

handle-error 任务名 skip

dm v7.0 不支持了
image

6.5不支持这个命令了?

命令帮助都没有了

6.5.1应该是支持的,我当时升级到这个版本 7.0我没用过

https://docs.pingcap.com/zh/tidb/stable/handle-failed-ddl-statements#命令介绍
binlog 命令管理和查看 binlog 操作。命令仅在 DM v6.0 及其以后版本支持,之前版本可使用 handle-error 命令。
6.0之后用binlog命令了

报不能错,只支持ddl,关键也没有详细文档

binlog 支持如下参数:

  • -b, --binlog-pos
    • 类型:string。
    • 指定 binlog 位置,表示操作将在 binlog-pos 与 binlog event 的 position 匹配时生效。若不指定,DM 会默认置为当前出错的 DDL 语句的 binlog 位置。
    • 格式:binlog-filename:binlog-pos,例如 mysql-bin|000001.000003:3270
    • 在迁移执行出错后,binlog position 可直接从 query-status 返回的 startLocation 中的 position 获得;在迁移执行出错前,binlog position 可在上游 MySQL 中使用 SHOW BINLOG EVENTS 获得。

需要-b指定binlog-pos,否则默认是ddl报错的binlog-pos

这个命令没用的

你找不到binlog位置的

文档在哪?mysql-bin|000001.000003:3270中的000003代表什么?

startLocation: [position: (mysql-bin.001905, 1049412027)

这里

  • -b, --binlog-pos
    • 类型:string。
    • 指定 binlog 位置,表示操作将在 binlog-pos 与 binlog event 的 position 匹配时生效。若不指定,DM 会默认置为当前出错的 DDL 语句的 binlog 位置。
    • 格式:binlog-filename:binlog-pos,例如 mysql-bin|000001.000003:3270
    • 在迁移执行出错后,binlog position 可直接从 query-status 返回的 startLocation 中的 position 获得;在迁移执行出错前,binlog position 可在上游 MySQL 中使用 SHOW BINLOG EVENTS 获得。
1 个赞