关于数据校验:技术分享-使用-syncdiffinspector-对两个-MySQL-进行数据校验
作者:沈光宇 爱可生南区 DBA 团队成员,次要负责 MySQL 故障解决和性能优化。对技术执着,为客户负责。 本文起源:原创投稿 *爱可生开源社区出品,原创内容未经受权不得随便应用,转载请分割小编并注明起源。 一、sync-diff-inspector简介sync-diff-inspector 是由 PingCAP 开源的数据校验工具,用于校验MySQL/TiDB中两份数据是否统一。 次要性能如下: 比照表构造和数据如果数据不统一,则生成用于修复数据的 SQL 语句反对不同库名或表名的数据校验反对分库分表场景下的数据校验反对 TiDB 主从集群的数据校验反对从 TiDB DM 拉取配置的数据校验sync-diff-inspector 的应用限度 对于 MySQL 和 TiDB 之间的数据同步不反对在线校验,须要保障上下游校验的表中没有数据写入,或者保障某个范畴内的数据不再变更,通过配置 range 来校验这个范畴内的数据。FLOAT、DOUBLE 等浮点数类型在 TiDB 和 MySQL 中的实现形式不同,在计算 checksum 时会别离取 6 位和 15 位有效数字。如果不应用该个性,须要设置 ignore-columns 疏忽这些列的查看。反对对不蕴含主键或者惟一索引的表进行校验,然而如果数据不统一,生成的用于修复的 SQL 可能无奈正确修复数据。本文将介绍应用 sync-diff-inspector 工具对两个 MySQL 实例中的数据进行校验,两个 MySQL 实例之间应用 DTS 工具来同步数据。 二、sync-diff-inspector工具下载安装#sync-diff-inspector已集成在TiDB工具包中,间接下载TiDB工具包即可shell> wget https://download.pingcap.org/tidb-community-toolkit-v6.4.0-linux-amd64.tar.gzshell> tar zxvf tidb-community-toolkit-v6.4.0-linux-amd64.tar.gzshell> ls -lh tidb-community-toolkit-v6.4.0-linux-amd64 | grep sync_diff_inspector-rwxr-xr-x 1 tidb tidb 98M Nov 17 11:41 sync_diff_inspectorshell> ./sync_diff_inspector -VApp Name: sync_diff_inspector v2.0Release Version: v6.4.0Git Commit Hash: f7e65073b35538def61ae094cd4a8e57e705344bGit Branch: heads/refs/tags/v6.4.0UTC Build Time: 2022-11-04 07:21:08Go Version: go1.19.2三、sync-diff-inspector工具应用示例1.配置文件通用局部 ...