tencent cloud

TDSQL Boundless

产品动态
产品简介
产品概述
应用场景
产品架构
实例类型
兼容性说明
使用规范建议
自研内核
内核概述
内核版本更新动态
功能类特性
性能类特性
产品计费
计费概述
购买方式
价格详情
续费说明
欠费说明
退费说明
快速入门
创建实例
连接实例
用户指南
数据迁移
数据同步/订阅
实例管理
参数配置
账号管理
安全组
备份与恢复
数据库审计
标签管理
实践教程
Online DDL 的技术演进与使用实践
锁机制解析与问题排查实践
数据智能调度及相关性能优化实践
TDSQL Boundless 选型指南与实践教程
开发指南
开发指南(MySQL 兼容模式)
开发指南(HBase 兼容模式)
性能调优
性能调优概述
SQL 调优
DDL 调优
性能白皮书
性能概述
TPC-C 测试
Sysbench 测试
API 文档
History
Introduction
API Category
Making API Requests
Instance APIs
Security Group APIs
Task APIs
Backup APIs
Rollback APIs
Parameter APIs
Database APIs
Data Types
Error Codes
通用参考
系统原理
SQL 参考
数据库参数说明
TPC-H 基准测试数据模型参考
错误码信息
安全与合规
常见问题
服务协议
服务等级协议
服务条款
隐私政策
数据处理和安全协议
联系我们
词汇表
文档TDSQL Boundless用户指南数据迁移从大数据量 TiDB 实例迁移至 TDSQL Boundless

从大数据量 TiDB 实例迁移至 TDSQL Boundless

PDF
聚焦模式
字号
最后更新时间: 2026-03-12 09:44:14
本文档介绍如何通过 tidb2tdsql 工具、Bulk Load、TiCDC 增量数据同步工具,将数据从自建 TiDB 集群迁移到 TDSQL Boundless。

整体流程

1. 搭建环境并准备工具。
2. 迁移全量数据。流程如下:
2.1 使用 BR 工具全量备份自建 TiDB 集群到腾讯云 COS,并记录全量备份时间点。
2.2 使用 tidb2tdsql 工具转换 TiDB 的备份数据为 SQL 文件存储到腾讯云 COS。
2.3 数据通过 SQL 文件从腾讯云 COS 导入到 TDSQL Boundless。
3. 使用 TiCDC 同步增量数据。
4. 校验迁移后的数据。

前置条件

建议将腾讯云 COS Bucket 和 TDSQL Boundless 实例放在同一区域,跨区域可能影响迁移速度。在迁移前,您需要准备以下内容:
一个腾讯云 COS Bucket
一个 TDSQL Boundless 实例
tidb2tdsql:一个可方便转换 TiDB 快照备份数据为 SQL 文件的转换工具。
TiCDC:TiDB 的增量数据同步工具。

部署 BR 工具

1. 部署环境准备
推荐在与待迁移 MySQL/TiDB 和 TDSQL Boundless 实例网络互通的服务器上部署 BR。
2. 使用 TiUP 部署 BR
## 部署 TiUP
curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh
source /root/.bash_profile

## 部署 BR 并升级到最新版本
tiup install br
tiup update --self && tiup update br

部署 TiDB2TDSQL

1. 部署环境准备
推荐在与待迁移 MySQL/TiDB 和 TDSQL Boundless 实例网络互通的服务器上部署 TiDB2TDSQL。
2. 联系腾讯云技术支持,获取数据转换工具。
## 部署 TiDB2TDSQL 工具
chmod +x bin/tidb2tdsql

部署 TiCDC

您需要 部署 TiCDC 以将增量数据从上游 TiDB 集群同步到 TDSQL Boundless 实例,部署 TiCDC 工具可以参考:使用 TiUP 向现有 TiDB 集群添加或扩容 TiCDC

迁移全量数据

要将数据从 TiDB 自建集群迁移到 TDSQL Boundless 实例,请按如下步骤进行全量数据迁移:
1. 通过 BR 工具全量备份自建 TiDB 集群到 COS 存储。
2. 查看并记录备份时间点信息 TSO。
3. 使用 tidb2tdsql 工具转换 TiDB 的备份数据为 SQL 文件存储到腾讯云 COS。
4. 数据通过 SQL 文件从腾讯云 COS 导入到 TDSQL Boundless。

备份 TiDB 到 COS 存储

您需要 部署 BR 工具 将数据从自建 TiDB 集群备份到腾讯云 COS 存储。
# 获取腾讯云对象存储 COS 桶的 secret_id 与 secret_key
export AWS_ACCESS_KEY_ID=${cos_secret_id}
export AWS_SECRET_ACCESS_KEY=${cos_secret_key}
tiup br backup full --pd "${PD_IP}:2379" \\
--storage "s3://db_br?endpoint=https://source_address.cos.ap-guangzhou.myqcloud.com?AWS_ACCESS_KEY_ID=${cos_secret_id}&AWS_SECRET_ACCESS_KEY=${cos_secret_key}" \\
--s3.region="ap-guangzhou" \\
--s3.provider="cos"

查看并记录备份的时间点信息

查看并记录全量备份的时间点信息,全量备份时间点 TSO 是增量数据的起始时间点,可以执行如下命令:
# 获取腾讯云对象存储 COS 桶的 secret_id 与 secret_key
export AWS_ACCESS_KEY_ID=${cos_secret_id}
export AWS_SECRET_ACCESS_KEY=${cos_secret_key}

tiup br validate decode --field="end-version" \\
--storage
"s3://db_br?endpoint=https://source_address.cos.ap-guangzhou.myqcloud.com" \\
--s3.region="ap-guangzhou" \\
--s3.provider="cos" | tail -n1
结果输出如下,记录该时间点,用于后续增量数据同步的起始时间点:
463592975341191170

转换备份数据格式

通过执行如下命令,将 TiDB 的备份数据转换为 SQL 文件存储到腾讯云 COS:
# 获取腾讯云对象存储 COS 桶的 secret_id 与 secret_key
export AWS_ACCESS_KEY_ID=${cos_secret_id}
export AWS_SECRET_ACCESS_KEY=${cos_secret_key}

bin/tidb2tdsql dump --worker-count 64 \\
--storage "s3://db_br?endpoint=https://source_address.cos.ap-guangzhou.myqcloud.com" \\
--s3.region="ap-guangzhou" \\
--s3.provider="cos" \\
--output "s3://db_tdsql?endpoint=https://target_address.cos.ap-guangzhou.myqcloud.com"

检查转换完成的数据

检查导出数据,通常导出的数据包括以下内容:
metadata:包含导出起始时间 TSO。
{schema}-schema-create.sql:创建 schema 的 SQL 文件
{schema}.{table}-schema.sql:创建表的 SQL 文件
{schema}.{table}.{000000001}.{sql}:数据文件,按照分片存储
{schema}.{view}-schema-view.sql:视图的 SQL 文件。
$ cat metadata
# Started dump at: 2026-01-15 17:54:08

[myloader_session_variables]
SQL_MODE='NO_ENGINE_SUBSTITUTION'

[config]
max-statement-size = 1048576

# SHOW MASTER STATUS:
# Log: tidb-br-dump
# Pos: 463592975341191170
# GTID:
# Finished dump at: 2026-01-15 17:54:36

导入到 TDSQL Boundless

导入全量转换完毕的 SQL 文件到 TDSQL Boundless 实例,详细请联系 腾讯云技术支持

同步增量数据

要同步增量数据,参考通过 TiCDC 同步数据到 MySQL 兼容数据库的步骤进行操作。其中,增量数据迁移的起始时间即为全量数据导出的时间点 TSO。以上文的备份为例,即上文例子中输出的 463592975341191170

启动增量同步任务

如果创建增量同步任务后,输出中显示 Create changefeed successfully,则同步任务创建成功。
如果展示 CDC 任务状态为 normal,则同步任务正常。
tiup cdc cli changefeed list --pd=http://172.16.6.122:2379
[
{
"id": "totdsqlc",
"summary": {
"state": "normal",
"tso": 463592975341191170,
"checkpoint": "2026-01-15 17:54:36.270",
"error": null
}
}
]

数据一致性校验

可通过 sync-diff-inspector 工具,验证上下游数据的一致性。config.yaml 文件的配置可参考如下文件:
# Diff Configuration.
######################### Datasource config #########################
[data-sources]
[data-sources.upstream]
host = "172.20.6.11" # 需要替换为实际上游集群 ip
port = 4000
user = "root"
password = "YourPassword"
snapshot = "436138236720447494" # 配置为实际的备份时间点 TSO

[data-sources.downstream]
host = "172.20.6.88" # 需要替换为实际下游集群 ip
port = 3306
user = "root"
password = "YourPassword"
######################### Task config #########################
[task]
output-dir = "./output"
source-instances = ["upstream"]
target-instance = "downstream"
target-check-tables = ["*.*"]

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈