DM同步,使用sql-skip无法跳过异常ddl语句

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

query-error 无法查看具体的错误binlog pos

使用sql-skip 跳过了binlog|000002.000023:140419706 和binlog|000002.000023:140419937
resume后还是报同样的错误,请大神看下是不是该跳过哪个binlog呢…

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

current pos,resum 之后看下 current pos 是否发生变化。

建议使用 filter 忽略下 alter event 语句。此语句通过到 tidb 都有问题。

resume之后还是没变哦;

用filter过滤下账号,stop task 再start task,还是同样的报错- -

filter设置:

mysql-instances:

source-id: “test-6-71”
black-white-list: “global”
mydumper-config-name: “global”
filter-rules: [“rule-1”]

filters:
rule-1:
schema-pattern: “koala”
table-pattern: “”
events: [“all”]
sql-pattern: ["^DROP\s+EVENT", “^ALTER\s+EVENT”]
action: Ignore

sql-pattern: ["^DROP\s+EVENT", “^ALTER\s+EVENT”]

image
好像都不太管用…

将操作记录截取下?

sql-pattern 的配置需要看下你的 sql 是否真的为 alter event 语句。
可以将 dm relay log 中的 binlog 解析下。看看。

从binlog看应该是alter event;

操作记录:
vim /home/tidb/dm-ansible/conf/koala.yaml ->更改filter
update-task /home/tidb/dm-ansible/conf/koala.yaml
resume-task --worker=172.33.6.73:8262 koala
query-status koala

测试了下,和event相关的操作(create,delete,alter)会让所有task pause, create/drop procedure反而不会,很奇怪。。

换成 stop-task start-task

省略掉该步骤

sql-skip 的操作也是执行成功后,resume-task 即可

filters:
  rule-1:
    schema-pattern: "*"
    sql-pattern: ["^DROP\\s+EVENT", "^ALTER\\s+EVENT"]
    ​action: Ignore

用stop-task start-task 加上上面的过滤规则 是生效的 - -

ok
`

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