DM 工具 DDL 被过滤问题

DM V2.0.4
本月新搭建的dm工具,所有任务(都是DM1.0.6版本的时候的任务,1.0.6版本同步不会过滤DDL)同步过程中的DDL语句都不会同步,请问是是否有什么参数控制过滤了DDL?
数据源


同步报错

1 个赞

任务中没有过滤DDL
filters:
mysql-replica-11.filter.1:
schema-pattern: ‘*’
table-pattern: “”
events: []
sql-pattern:
- XA PREPARE
- XA START
- XA END
- XA COMMIT
action: Ignore

1 个赞

麻烦发一下task的配置文件信息

1 个赞

task任务.txt (5.4 KB)

请查收~~

1 个赞

你好,通过报错信息,可以看到源和副本的表结构似乎不一致。插入的值和表的列数不匹配,请检查下呢。

你好,如果是因为 DDL 被过滤掉了,那两边表结构肯定不一致了。
请问,是否有测试环境,去掉这段过滤规则,验证下是否影响 DDL 同步。XA 语法没有实测过,不能给你准确答复,抱歉。

%E5%9B%BE%E7%89%87

我们任务接近100个,这些任务之前都在v1.0.6跑了一年了,没有出现过过滤DDL的情况,这个月新搭建2.0的集群,任务还是完全一样的,但是在这个版本中就被过滤了

  1. 可以根据这个 worker 的日志先排查一下是否有 ddl skip 的日志。
  2. 根据这个报错的 SQL 检查上下游 schema 是否不一致。

这几天找了相同报错的binlog日志,发现都是下面这种rename表的操作增加字段导致,挺坑爹的……

你这是用的 PT 工具添加的字段吧? PT 修改 DDL 会有 rename 操作的

是的,这种场景dm支持么

找到文档了,应该是加这个参数就行了吧?

online-ddl: true

2.0.4 版本用这个 online-schema-change: pt

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