基于 DM 同步场景下的数据校验

当你在使用 TiDB DM 等同步工具时,需要校验 DM 同步后数据的一致性。你可以从 DM-master 拉取指定 task-name 的配置,进行数据校验。

下面是一个简单的配置文件说明,要了解完整配置,请参考 sync-diff-inspector 用户文档

  1. # Diff Configuration.
  2. ######################### Global config #########################
  3. # 检查数据的线程数量,上下游数据库的连接数会略大于该值
  4. check-thread-count = 4
  5. # 如果开启,若表存在不一致,则输出用于修复的 SQL 语句
  6. export-fix-sql = true
  7. # 只对比表结构而不对比数据
  8. check-struct-only = false
  9. # dm-master 的地址, 格式为 "http://127.0.0.1:8261"
  10. dm-addr = "http://127.0.0.1:8261"
  11. # 指定 DM 的 `task-name`
  12. dm-task = "test"
  13. ######################### Task config #########################
  14. [task]
  15. output-dir = "./output"
  16. # 需要比对的下游数据库的表,每个表需要包含数据库名和表名,两者由 `.` 隔开
  17. target-check-tables = ["hb_test.*"]

该配置在 dm-task = “test” 中,会对该任务下 hb_test 库的所有表进行检验,自动从 DM 配置中获取上游对下游库名的正则匹配,以校验 DM 同步后数据的一致性。