使用tidb dm工具,同步数据到目标表,目标表需要额外加一个字段

【 TiDB 使用环境】生产\测试环境\ POC
【 TiDB 版本】
【遇到的问题】
【复现路径】做过哪些操作出现的问题
【问题现象及影响】
【附件】

  • 相关日志、配置文件、Grafana 监控(https://metricstool.pingcap.com/)
  • TiUP Cluster Display 信息
  • TiUP CLuster Edit config 信息
  • TiDB-Overview 监控
  • 对应模块的 Grafana 监控(如有 BR、TiDB-binlog、TiCDC 等)
  • 对应模块日志(包含问题前后 1 小时日志)

目标表跟原表相比,多了一个字段:
这个字段如下:
confluent__last_updated timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
在一般情况下,都是没问题的,这个字段的值,会利用数据库的特性,自动设置成当前系统时间
但是如果原表有类似下面这样的SQL就会出现问题: 提示 字段和值的个数不匹配
insert into table values (…,…,…,…)
不列出具体的字段名,直接跟字段值
这样的话,原表的字段值 比目标表的字段个数要少一个, 同步任务就会暂停
面对这种场景,有什么办法吗


若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

2 个赞

这种场景是支持的,可以看下这篇官方文档:
https://docs.pingcap.com/zh/tidb-data-migration/v2.0/usage-scenario-downstream-more-columns

2 个赞

这种场景刚好最近需要,多谢大佬了

2 个赞

客气了

1 个赞

这个,dm支持下游数据列更多的列的迁移,不过要提前声明用上游表结构解析,不然上游数据到下游解析的时候拿下游表结构解析就会报错,官方文档, 下游 TiDB 表结构存在更多列的数据迁移 | PingCAP Docs

1 个赞

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。