Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions download-ecosystem-tools.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ summary: 本文介绍如何下载 TiDB 工具包。TiDB 工具包包含常用工

## TiDB 工具包下载

TiDB 工具包中包含了一些常用的 TiDB 工具,例如数据导出工具 Dumpling、数据导入工具 TiDB Lightning、备份恢复工具 BR。
TiDB 工具包中包含了一些常用的 TiDB 工具,例如数据导出工具 Dumpling、数据导入工具 TiDB Lightning、备份恢复工具 BR、数据一致性检查工具 sync-diff-inspector

> **建议:**
>
> 如果你的部署环境能访问互联网,无需单独下载 TiDB 工具包,可以直接通过使用 [TiUP 命令一键部署](/tiup/tiup-component-management.md)所需的 TiDB 工具。
> 对于 TiDB v9.0.0 及以上版本,包括 sync-diff-inspector 在内的大多数工具都可以直接通过 TiUP 使用。如果你的部署环境能访问互联网,无需单独下载 TiDB 工具包,可以直接通过使用 [TiUP 命令一键部署](/tiup/tiup-component-management.md)所需的 TiDB 工具。

### 环境要求

Expand Down Expand Up @@ -44,7 +44,7 @@ TiDB 工具包中包含了一些常用的 TiDB 工具,例如数据导出工具
| [TiDB DM (Data Migration)](/dm/dm-overview.md) | `dm-worker-{version}-linux-{arch}.tar.gz` <br/>`dm-master-{version}-linux-{arch}.tar.gz` <br/>`dmctl-{version}-linux-{arch}.tar.gz` |
| [TiCDC](/ticdc/ticdc-overview.md) | `cdc-{version}-linux-{arch}.tar.gz` |
| [Backup & Restore (BR)](/br/backup-and-restore-overview.md) | `br-{version}-linux-{arch}.tar.gz` |
| [sync-diff-inspector](/sync-diff-inspector/sync-diff-inspector-overview.md) | `sync_diff_inspector` |
| [sync-diff-inspector](/sync-diff-inspector/sync-diff-inspector-overview.md) | TiDB v9.0.0 及以上版本:`tiflow-{version}-linux-{arch}.tar.gz`<br/>TiDB v9.0.0 之前的版本:`sync_diff_inspector` |
| [PD Recover](/pd-recover.md) | `pd-recover-{version}-linux-{arch}.tar.gz` |

> **注意:**
Expand Down
37 changes: 28 additions & 9 deletions sync-diff-inspector/sync-diff-inspector-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,11 @@ summary: sync-diff-inspector 是一个用于校验 MySQL/TiDB 中数据一致性

# sync-diff-inspector 用户文档

[sync-diff-inspector](https://github.com/pingcap/tidb-tools/tree/master/sync_diff_inspector) 是一个用于校验 MySQL/TiDB 中两份数据是否一致的工具。该工具提供了修复数据的功能(适用于修复少量不一致的数据)。
[sync-diff-inspector](https://github.com/pingcap/tiflow/tree/master/sync_diff_inspector) 是一个用于校验 MySQL/TiDB 中两份数据是否一致的工具。该工具提供了修复数据的功能(适用于修复少量不一致的数据)。

主要功能:
本文介绍 sync-diff-inspector 的主要功能,并说明如何配置以及使用该工具。

## 主要功能

* 对比表结构和数据
* 如果数据不一致,则生成用于修复数据的 SQL 语句
Expand All @@ -17,12 +19,31 @@ summary: sync-diff-inspector 是一个用于校验 MySQL/TiDB 中数据一致性
* 支持 [TiDB 主从集群的数据校验](/ticdc/ticdc-upstream-downstream-check.md)
* 支持[从 TiDB DM 拉取配置的数据校验](/sync-diff-inspector/dm-diff.md)

你可通过以下方式下载 sync-diff-inspector:
## 安装 sync-diff-inspector

sync-diff-inspector 的安装方法取决于 TiDB 版本。

对于 TiDB v9.0.0 及以上版本,你可通过以下方式下载 sync-diff-inspector:

+ 使用 TiUP 安装:

```shell
tiup install sync-diff-inspector
```

+ 下载 Binary 包。sync-diff-inspector 的安装包位于 TiDB 离线工具包中。下载方式,请参考 [TiDB 工具下载](/download-ecosystem-tools.md)。

+ 使用 Docker 镜像。执行以下命令进行下载:

+ Binary 包。sync-diff-inspector 的安装包位于 TiDB 离线工具包中。下载方式,请参考 [TiDB 工具下载](/download-ecosystem-tools.md)。
+ Docker 镜像。执行以下命令进行下载:
```shell
docker pull pingcap/sync-diff-inspector:latest
```

{{< copyable "shell-regular" >}}
对于 TiDB v9.0.0 之前版本,你可通过以下方式下载 sync-diff-inspector:

+ 下载来自 [`tidb-tools`](https://github.com/pingcap/tidb-tools) 仓库的 Binary 包。sync-diff-inspector 的安装包位于 TiDB 离线工具包中。下载方式,请参考 [TiDB 工具下载](/download-ecosystem-tools.md)。

+ 使用 Docker 镜像。执行以下命令进行下载:

```shell
docker pull pingcap/tidb-tools:latest
Expand Down Expand Up @@ -287,15 +308,13 @@ Average Speed: 113.277149MB/s
- 下游数据库冗余行,则是 DELETE 语句
- 下游数据库行部分数据不一致,则是 REPLACE 语句,但会在 SQL 文件中通过注释的方法标明不同的列

```SQL
```sql
-- table: sbtest.sbtest99
-- range in sequence: (3690708) < (id) <= (3720581)
/*
DIFF COLUMNS ╏ `K` ╏ `C` ╏ `PAD`
╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╋╍╍╍╍╍╍╍╍╍╋╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╋╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍
source data ╏ 2501808 ╏ 'hello' ╏ 'world'
╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╋╍╍╍╍╍╍╍╍╍╋╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╋╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍
target data ╏ 5003616 ╏ '0709824117-9809973320-4456050422' ╏ '1714066100-7057807621-1425865505'
╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╋╍╍╍╍╍╍╍╍╍╋╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╋╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍
*/
REPLACE INTO `sbtest`.`sbtest99`(`id`,`k`,`c`,`pad`) VALUES (3700000,2501808,'hello','world');
Expand Down