【 TiDB 使用环境】生产\测试环境\ POC
【 TiDB 版本】5.4.0
【遇到的问题】mysql通过dm-worker同步到tidb出现数据不同步问题
dm-worker任务显示正常
task 配置文件
源端mysql
目标端tidb
tidb dm_meta
【 TiDB 使用环境】生产\测试环境\ POC
【 TiDB 版本】5.4.0
【遇到的问题】mysql通过dm-worker同步到tidb出现数据不同步问题
dm-worker任务显示正常
是其他大部分表都在正常同步,只有这个表binlog位置卡在这里不动了。dm任务也没任何报错提醒吧
能不能重启一下这个同步任务看看
重启过,无效
重启没有效果,但是同步位点有变化,数据还是没有同步
那张表只能单独处理了。
我们按库分任务,没有把表单独拿出来,而是整个库初始化
1、同步的表确定不在ignore中。
2、对,从mysql同步,卡住,但是dm-task里同步位点有变化。
3、dm日志我们看了,没有什么错误信息
可以帮忙拿下 worker 日志以及 worker goroutines 信息我们分析下吗?
goroutines 可以通过以下命令获取
curl http://<worker-ip>:<worker-port>/debug/pprof/goroutine\?debug\=2 > goroutines.txt
看了这个 goroutines 也没有什么阻塞的情况。dm 处理 table 是一并读取处理的,不太可能出现一张表阻塞其他表还能正常同步的情况(这种情况其他表也会阻塞),怀疑不一致这条 binlog 被 purge 或者下游更改过,或者之前有改 checkpoint 重启漏掉 binlog 的行为。
可以看看最后一张图的不一致表的 table checkpoint 是否包含了问题 binlog,以及丢失这条 binlog 在上游 MySQL 中的位置。方便的话可以再看看 dm-worker 的完整日志
该主题在最后一个回复创建后60天后自动关闭。不再允许新的回复。