上游mysql和下游tidb数据不一致?

【 TiDB 使用环境】生产
【 TiDB 版本】v6.1.0
【遇到的问题】

背景: 我通过DM组件把TIDB作为实时复制的从库,上游是MYSQL5.7

问题:现在通过sync_diff_inspector的( 基于 DM 同步场景下的数据校验)
发现数据有不一致?但是我自己检查看不出什么问题?

sync_diff_inspector 的配置如下

check-thread-count = 4
export-fix-sql = true
check-struct-only = false
dm-addr = "http://x.x.x.x:8261"
dm-task = "task_mysql1322033307_incremental"

[task]
    output-dir = "./output"
    target-check-tables = ["xxx.*"]

sync_diff_inspector的运行结果summary.txt如下

......
......
......
The following tables contains inconsistent data

+---------------------------------+--------------------+----------------+---------+-----------+
|              TABLE              | STRUCTURE EQUALITY | DATA DIFF ROWS | UPCOUNT | DOWNCOUNT |
+---------------------------------+--------------------+----------------+---------+-----------+
| `xxxxx`.`xxxx` | true               | +6913/-6913    |   57885 |     57885 |
+---------------------------------+--------------------+----------------+---------+-----------+

Time Cost: 19.60125373s

【复现路径】做过哪些操作出现的问题
【问题现象及影响】

数据校验会有一些限制针对于JSON 、FLOAT、DOUBLE、

https://docs.pingcap.com/zh/tidb/stable/sync-diff-inspector-overview#sync-diff-inspector-的使用限制

刚才看了下我的上游mysql表结构,没发现会触发sync-diff-inspector的使用限制

上游mysql那张表结构如下

sync_diff配置文件中已配置export-fix-sql选项为true,应该会输出对应的fix-sql,可以查看fix-sql定位到具体行的primarykey,手工去上下游查看数据是否一致。

我手动查看了下,看起来是一致的

除了数据校验 的限制意外, 看看有没有延迟, 如果有延时 的话 也会造成数据不一致

sync-diff-inspector的使用限制

目前发现TDIB的默认字符集规则是utf8mb4_bin,而上游mysql的是utf8mb4_general_ci,我想可能是这个原因把

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