帮你快速理解、总结文档立即下载
文档中心>数据传输服务>数据订阅 2.0>MySQL 系列数据订阅>创建 MySQL 或 TDSQL-C MySQL 数据订阅

创建 MySQL 或 TDSQL-C MySQL 数据订阅

最近更新时间:2026-07-14 12:07:30

我的收藏
本场景介绍使用 DTS 创建 MySQL 或 TDSQL-C MySQL 的数据订阅任务操作指导。

前提条件

已准备好待订阅的源端数据库,并且数据库版本符合要求,请参见 数据订阅支持的数据库
已在源库中开启 binlog。
已在源库中创建订阅账号,需要账号权限如下:REPLICATION CLIENT、REPLICATION SLAVE、PROCESS 和全部对象的 SELECT 权限。 具体授权语句如下:
create user '迁移账号' IDENTIFIED BY '账号密码';
grant SELECT, REPLICATION CLIENT,REPLICATION SLAVE,PROCESS on *.* to '迁移账号'@'%';
flush privileges;

约束限制

订阅的消息保存在 DTS 内置 Kafka(单 Topic)中,目前默认保存时间为最近1天,单 Topic 的最大存储为500G,当数据存储时间超过1天,或者数据量超过500G 时,内置 Kafka 都会开始清除最先写入的数据。所以请用户及时消费,避免数据在消费完之前就被清除。
数据消费的地域需要与订阅任务所属的地域相同。
当前不支持 geometry 相关的数据类型。
订阅任务过程中,如果进行修改订阅对象等操作会发生任务重启,重启后可能会导致用户在 Kafka 客户端消费数据时出现重复。
DTS 是按最小数据单元进行传输的,增量数据每标记一个 checkpoint 位点就是一个数据单元,如果重启时,刚好一个数据单元传输已完成,则不会导致数据重复;如果重启时,一个数据单元还正在传输中,那么再次启动后需要重新拉取这个数据单元,以保证数据完整性,这样就会导致数据重复。
新建的 MySQL 或 TDSQL-C MySQL 订阅任务,用户如果对重复数据比较关注,需要自行在消费数据时设置去重逻辑。

支持订阅的 SQL 操作

操作类型
支持的 SQL 操作
DML
INSERT、UPDATE、DELETE
DDL
CREATE DATABASE、DROP DATABASE、CREATE TABLE、ALTER TABLE、DROP TABLE、RENAME TABLE

操作步骤

1. 登录 DTS 控制台,在左侧导航选择数据订阅,单击新建数据订阅
2. 在新建数据订阅页,选择相应配置,单击立即购买
参数
描述
计费模式
支持包年包月和按量计费。
数据库
请根据具体数据库类型进行选择。
地域
源库为腾讯云数据库,这里的地域需与源数据库实例的地域保持一致。源库为非腾讯云数据库,这里的地域选择与数据消费的地域保持一致,如果数据消费地域无特殊要求,这里选择离源数据库最近的一个地域即可。
版本
选择 2.0
规格
请根据业务诉求选择规格。
标签
给订阅任务设置标签键与标签值,便于通过标签高效管理多个任务。
订阅实例名称
选择创建后命名,默认任务名称与任务 ID 一致。在订阅任务创建完成之后,可重新设置任务名称。
选择立即命名,在下面的输入框中输入任务名称。
协议条款
请务必勾选 我已阅读并同意《云数据库服务条款》
3. 购买成功后,返回数据订阅列表,单击操作列的配置订阅对刚购买的订阅进行配置,配置完成后才可以进行使用。
4. 配置数据订阅页面,选择数据订阅任务,完成后单击连通性测试,测试通过、设置网络后单击保存并下一步
数据订阅任务设置
配置项
说明
实例类型
购买时选择的数据库类型,不可修改。
建议选择主库进行订阅,订阅服务对源库的压力非常小。
接入类型
请根据您的场景选择,不同接入类型的准备工作请参考 准备工作概述
公网:源数据库可以通过公网 IP 访问。
云服务器自建:源数据库部署在 腾讯云服务器 CVM 上。
专线接入:源数据库可以通过 专线接入 方式与腾讯云私有网络打通。
VPN 接入:源数据库可以通过 VPN 连接 方式与腾讯云私有网络打通。
云数据库:源数据库属于腾讯云数据库实例。
云联网:源数据库可以通过 云联网 与腾讯云私有网络打通。
公网
主机地址:源数据库 IP 地址或域名。
端口:源数据库使用的端口。
云服务器自建
云服务器实例:云服务器 CVM 的实例 ID。
端口:源数据库使用的端口。
专线接入
私有网络专线网关:专线接入时只支持私有网络专线网关,请确认网关关联网络类型。
私有网络:选择私有网络专线网关和 VPN 网关关联的私有网络和子网。
主机地址:源数据库 IP 地址或域名。
端口:源数据库使用的端口。
VPN 接入
VPN 网关:VPN 网关,请选择通过 VPN 网关接入的 VPN 网关实例。
私有网络:选择私有网络专线网关和 VPN 网关关联的私有网络和子网。
主机地址:源数据库 IP 地址或域名。
端口:源数据库使用的端口。
云数据库
云数据库实例:源数据库的实例 ID。
建议选择主库进行订阅,订阅服务对源库的压力非常小。
源数据库为腾讯云数据库 MySQL 时,支持选择只读实例、灾备实例,但使用只读实例时,需要先 提交工单 进行申请。腾讯云 MySQL 单节点(原基础版-已下线)作为源端,接入方式不能使用“云数据库”,可以使用“公网”接入方式;MySQL 单节点(云盘版)作为源端不限制,正常使用“云数据库”即可。
源数据库为腾讯云 TDSQL-C MySQL 时,支持选择只读实例。
云联网
主机地址:源数据库的主机 IP 地址或域名。
端口:源数据库使用的端口。
私有网络云联网:云联网实例名称。
接入 VPC:接入 VPC 指的是云联网中接入订阅链路的 VPC。请在云联网关联的所有 VPC 中,选择除了源数据库所属 VPC 外的其他 VPC。 例如,广州地域数据库作为源数据库,则接入 VPC 选择其他地域,如成都 VPC 或者上海 VPC。
子网:已选择 VPC 网络的子网名称。
接入 VPC 地域:购买任务时选择的源数据库地域与接入 VPC 地域需要保持一致,如果不一致,DTS 会将购买任务中选择的源数据库地域,改为接入 VPC 地域。
账号/密码
账号/密码:源数据库的账号、密码。
连接方式
SSL 安全连接指 DTS 与源数据库通过 SSL(Secure socket layer)安全连接,对传输链路进行加密。
选择 SSL 安全连接可能会增加数据库的连接响应时间,一般腾讯云内网链路相对较安全,无需开启 SSL 安全连接,采用公网/专线等传输方式,并且对数据安全要求较高的场景,需要开启 SSL 安全连接。选择 SSL 安全连接前,需要先在源数据库中开启 SSL 加密。
网络设置
配置项
说明
网络
请提前指定访问订阅任务 Kafka 的 VPC 环境(包括 VPC 和子网),后续可通过该 VPC 消费数据订阅服务。
说明:
同 VPC 访问:相同 VPC 下的所有 CVM 都可以正常访问订阅数据,无需额外配置。
跨 VPC 访问:如果消费端 CVM 在其他 VPC 中,需要配置云联网来实现跨 VPC 访问。
5. 在订阅类型和对象选择页面,选择订阅类型,单击保存并下一步
配置项
说明
订阅类型
数据更新:订阅源库全部对象的数据更新,包括数据 INSERT、UPDATE、DELETE 操作。
结构更新:订阅源库全部对象的结构创建、修改和删除。
全实例:订阅源库全部对象的数据更新和结构更新。
订阅数据格式
支持 ProtoBuf、Avro 和 JSON 三种格式。 ProtoBuf 和 Avro 采用二进制格式,消费效率更高,JSON 采用轻量级的文本格式,更加简单易用。
支持 XA 事务
勾选后 DTS 数据订阅可以识别源库进行的 XA 事务操作,在消费端获取的数据是按照 XA 事务的逻辑进行解析。源库发生了 XA 事务回滚(rollback),DTS 可以识别 rollback,源库上 rollback 及 rollback 之前的 SQL 语句不会再传递到消费端。
当前仅 MySQL、TDSQL-C MySQL 的数据订阅支持 XA 事务。
Topic 分区数量
设置数据投递到内置 Kafka 中 Topic 的分区数量,增加分区数量可提高数据写入和消费的速度。单分区可以保障消息的顺序,多分区无法保障消息顺序,如果您对消费到消息的顺序有严格要求,请选择分区数量为1。
Topic 分区策略
按表名分区:将相同表名的数据写入同一个分区中。
表名+主键分区:将相同主键的数据写入同一个分区。适用于热点数据的表,可以将热表数据分散到不同分区中,提升并发消费效率。
使用自定义分区策略
先通过正则表达式对订阅数据中的库名和表名进行匹配,将匹配到的数据按照表名、表名+主键、列进行分区投递。再将剩余未匹配到的数据,按照 Topic 分区策略进行投递。详情内容请参考设置分区策略
6. 在预校验页面,预校验任务预计会运行2 - 3分钟,预校验通过后,单击启动以完成数据订阅任务配置。
说明:
如果校验失败,请参考 校验不通过处理方法 进行修正,并重新进行校验。
7. 单击启动后,订阅任务会进行初始化,预计会运行3 - 4分钟,初始化成功后进入运行中状态。
8. 新增消费组,数据订阅 Kafka 版支持用户创建多个消费组(单个订阅任务最多支持创建10个消费组),进行多点消费。数据订阅 Kafka 版消费依赖于 Kafka 的消费组,所以在消费数据前需要创建消费组。
9. 订阅实例进入运行中状态之后,就可以开始消费数据。Kafka 的消费需要进行密码认证,具体示例请参考 数据消费 Demo,我们提供了多种语言的 Demo 代码,也对消费的主要流程和关键的数据结构进行了说明。