- 【TiDB 版本】:v4.0.1 GA
- 【DM版本】:v1.0.5
- 【问题描述】:
syncerbinlog的pos号和masterbinlog的不一致
产生过程:
第一步:上游执行分表添加字段操作,下游产生ddls锁
第二步:
第三步:
第四步执行query-status shard
依然显示ddls,同第一步显示一样
第五步:修改binlog_name和binlog_pos
第六步:重启dm master 和worker
接着就出现文章最开始,问题描述的现象。任务状态显示running,但其实不应用binlog
- query-status 查询结果中:
sync 下的 "syncerBinlog": "(bin.000001, 2525)", 表示已被 `Sync` 处理单元同步的 binlog position。
relaystatus 下的 "masterBinlog": "(bin.000001,3234)", 表示上游数据库的 binlog position。
一般情况下,不建议手动修改 checkpoint 系统表的信息。query-status 查询结果的含义请参考一下下面的链接:
https://docs.pingcap.com/zh/tidb-data-migration/stable/query-status#详情查询结果
-
因为同步的 checkpoint 手动修改过系统表,所以这边建议重新做一次全量+增量的同步。
-
如果是配置完成,并且 start task 后,数据仍然没有同步,请上传 query-status 结果,task yaml 文件,以及 dm-worker 的 log,这边再看下~~