将 TiDB 集群的增量数据实时同步到另一集群
如果你需要配置一个运行中的 TiDB 集群和其从集群,以进行实时增量数据同步,可使用 Backup & Restore (BR)、 和 TiDB Binlog。
任何写入 TiDB 的事务均被指定了唯一的 commit TS(commit 时间戳),可以通过该 TS 获取一个 TiDB 集群全局一致的状态。
通过 BR 或者 Dumpling 将集群的数据从一个全局一致的时间点导出,然后再用 TiDB Binlog 衔接这个全局一致的时间点开启增量同步,即同步过程分为全量同步和增量同步两个阶段:
- 执行全量备份恢复,并且获取到备份数据的 commit TS。
- 执行增量同步,确保增量同步的起始点是备份数据的 commit TS。
同步操作步骤
假设现有 A 集群正常运行,你需要先新建一个 B 集群作为 A 集群的从集群,并将 A 集群的数据实时增量进行同步到 B 集群,可以通过以下步骤来实现。
确保 A 集群已经部署并且开启了 TiDB Binlog。
使用以下任一工具将集群 A 的数据全局一致地导出到指定路径下:
使用
获取全局一致的时间戳 :
使用 BR 指令获取备份的时间戳,示例如下:
或者查阅 Dumpling metadata 获取 Pos ()。
将集群 A 的数据导入 B 集群。