dm同步出错


在测试dm MySQL数据同步TiDB,中报错,这个需要怎么解决呢?

把报错的文字部分贴出来!

看上去是有些设置没有设置好~

pls reference:

这是因为他没开 gtid

根据报错信息,是遇到了 duplicate key,可以检查一下 binlog

这个报错的意思是:
im_cost_info这个表里面的主键1001记录已经存在,无法再次插入。

有一种可能是:上游truncate删除表中数据,但是下游可能没有同步truncate事件。所以上游再次插入记录就会报这个错。

重复导入了么,冲突

把safe-mode: true 就不会主键冲突了

解决了么,是啥问题,我也想避免踩坑

tiup dmctl resume-task taskname 一下,有时候存在误报,要是解决不了,看看dm-worker,log日志,看看是那张表的问题

通过以下命令可暂时跳过:
tiup dmctl binlog skip taskName -b mysql-bin000003:3270
是在TiDB写入数据了吗?

主键冲突,怎么会冲突呢,两边数据库都有写入吗

解决了,因为上下游同时存在写入的情况,导致数据重复。需要评估这条数,不保留的话直接 tiup dmctl --master-addr < > skip <task_name> -b “<binlog文件名:位置>” 跳过就行。保留的话,就先处理这条数据,然后resume-task恢复任务就行

嗯嗯,是的,两边都有写入

主键冲突,两边都在写

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