dm `binlog_row_image` variable is not FULL

mysql同步数据到TiDB,配置完成后启动任务第一次同步数据成功,但是mysql后面新增的数据没有同步,查看query-status dm-task.yaml 显示
“Workaround”: “Please check if session binlog_row_image variable is not FULL, restart task to the location from where FULL binlog_row_image is used.”
但是,mysql配置了 binlog_row_image 为FULL

binlog_row_image 是刚修改的。还是以前就配置过的?

mysql是腾讯云的 是刚刚修改过的 实例也重启了 配置完成后,第一次数据同步是成功了的

有可能是应用的长连接的会话里面的binlog_row_image的值不是full,可以考虑下重新启动应用。

如果没有主从或者代理的话。可以重启应用

重启长连接应用后 tidb要怎么操作呢?

对mysql 进行一次flush logs.这样binlog日志就正常了。然后任务从新的binlog 开始读。存在数据丢失的问题,也需要在tidb 上重新修复

重新启动任务 没有从新的binlog开始,还是读的之前有问题的binlog,还是报错


框起来的是报错的binlog

需要从新的 binlog 位点重新初始化。
下游清理数据后,用 start-task --remove-meta ./task.yaml 重新发起。

1 个赞

新产生的binlog开始

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