DM同步会丢失数据?

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

  • 【TiDB 版本】:v3.0.9
  • 【问题描述】:目前发现有一条数据在上游的shard库表中存在,但是同步到TiDB后,查询不到,DM同步会丢失数据? 【排查分析】: 1、集群状态正常 2、DM任务状态正常

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

请问 DM 的版本是多少呢?正常情况下如果配置正确的话是不会丢失数据的。 另外可以根据下面的几个方向排查。

  1. 排查一下是否 DM 这边同步延迟引起的。
  2. 排查是否下游有其他逻辑对该数据进行了修改处理,具体可以查看一下 TIDB 的 MVCC 信息:curl http://{TiDBIP}:10080/mvcc/key/{db}/{table}/{handle} (注意:如果问题表主键为 int 类型的话,则 handle 就是 int 的值)
  3. 排查一下上游 MySQL 的这行数据是否有正常生成 binlog,如果这个 shard 库有从库的话直接在从库确认即可。如果没有则需要解析 MySQL binlog 进行排查。