数据库传输服务 DTS 提供多种类型的数据库订阅服务。本文以创建火山引擎版 MySQL 数据订阅任务为例,介绍如何通过 DTS 创建并启动数据订阅任务。
已创建 RDS MySQL 实例和数据库。详细信息,请参见创建源 RDS MySQL 实例和创建数据库。
当通过火山引擎 ECS 自建 Kafka 的方式消费数据时,需要在 ECS 上完成自建 Kafka 的部署。当通过消息队列 Kafka 版消费数据时,则需要提前创建 Kafka 实例和 Topic。详细信息,请参见创建 Kafka 实例和创建 Topic。
当通过消息队列 RocketMQ 版消费数据时,需提前创建 RocketMQ 实例和密钥。详细信息,请参见创建 RocketMQ 实例和创建密钥。
在通过云原生消息引擎消费数据时,需提前准备以下环境:
白名单与访问权限:目标端的实例的接入方式选择的是火山引擎 ECS 自建时,且实例开启了访问限制,那么在创建数据库传输任务前,您需要将 DTS 服务器 IP 地址(100.64.0.0/10
)添加至实例的白名单或安全组中。关于 DTS 服务器 IP 地址段的详细信息,请参见添加 DTS 服务器的 IP 地址段。
网络连通性:创建数据订阅任务之前,请确认源库和消费端的网络连通性与服务可用性。
您还可以根据预检查项中的说明,对检查源库和目标库中各迁移对象做相应准备。更多详情,请参见预检查项 (MySQL)。
限制类 | 说明 |
---|---|
源数据库限制 |
|
消费端限制 |
|
其他限制 |
增量订阅支持的 SQL 操作如下表所示。
操作类型 | SQL 操作语句 |
---|---|
DML | INSERT、UPDATE、DELETE |
DDL | ALTER TABLE、CREATE TABLE、DROP TABLE、RENAME TABLE、TRUNCATE TABLE |
登录 DTS 控制台。
在顶部菜单栏的左上角,选择项目和地域。
在左侧导航栏,单击数据订阅。
在数据订阅列表页面,单击创建订阅。
在配置源库页面,配置以下参数信息。
类别 | 参数 | 说明 | ||
---|---|---|---|---|
基本信息 | 任务名称 | (可选)自定义订阅任务名称。命名规则如下:
| ||
链路规格 | 按需选择订阅任务的链路规格,当前支持 Compact 和 Standard。 说明 成功创建任务后,不支持修改任务的链路规格。关于链路规格的详细信息,请参见产品规格。 | |||
基本配置 | 选择已有数据源 | 您可以按需选择是否使用已录入的实例:
| ||
实例类型 | 选择 MySQL。 | |||
接入方式 | 选择火山引擎版 MySQL。 | |||
是否跨火山引擎账号 | 按需选择是否跨账号传输数据,取值如下:
说明
| |||
跨账号ID | 输入源库所属的火山引擎账号 ID。 说明 在选择跨火山引擎账号进行数据传输时,需配置该参数。 | |||
跨账号角色 | 输入已授权 DTS 访问跨账号资源的 IAM 角色。 说明 在选择跨火山引擎账号进行数据传输时,需配置该参数。 | |||
MySQL 实例 | 从下拉列表中选择目标实例。 | |||
节点类型 | 按需选择节点类型,当前支持选择主节点和只读节点。 说明 当实例内创建了只读节点时,支持选择只读节点。关于创建只读节点的详细操作,请参见只读节点概述。 | |||
MySQL 只读节点 | 从下拉列表中选择目标只读节点。 说明 在实例中创建了只读节点,且节点类型选择只读节点时,支持配置此参数。 | |||
数据库账号 | 输入数据库账号信息。 | |||
数据库密码 | 输入数据库密码。 | |||
测试连接 | 当测试连接失败时,根据失败提示信息修改相关配置后,再次单击测试连接,验证是否可以成功连接实例。具体提示信息如下:
| |||
中间件配置 | 选择已有数据源 | 您可以按需选择是否使用已录入的实例:
| ||
订阅内置中间件 | 私有网络 | 从下拉列表中选择目标私有网络。 | ||
子网 | 从下拉列表中选择目标私有网络内的子网。 说明 目标私有网络内的子网至少要包含 1 个可用 IP。 | |||
客户自有中间件 | 消息队列 Kafka 版 | Kafka 实例 | 从下拉列表中选择目标实例。 | |
Topic | 从下拉列表中选择目标 Topic 信息。 | |||
Kafka 用户 | 输入 Kafka 用户名。 说明 仅支持 SASL 认证且认证机制为 PLAIN,此处应指定为 PLAIN 机制的用户名。 | |||
密码 | 输入 Kafka 用户密码。 | |||
火山引擎 ECS 自建 Kafka 版 | Broker | 输入所有 Broker 的 IP 地址及端口号,格式为 host1:port1 ,例如 10.1.1.1:9093 。当存在多个 Broker 时,需使用英文逗号(,)隔开。 | ||
Topic | 输入目标 Topic 信息。 | |||
VPC | 从下拉列表中选择目标私有网络。 | |||
Kafka 用户 | 输入 Kafka 用户名。 说明 仅支持 SASL 认证且认证机制为 PLAIN,此处应指定为 PLAIN 机制的用户名。 | |||
密码 | 输入 Kafka 用户密码。 | |||
消息队列 RocketMQ 版 | RocketMQ 实例 | 从下拉列表中选择目标实例。 | ||
Topic | 从下拉列表中选择目标 Topic 信息。 | |||
AccessKey ID | 输入密钥的 AccessKey ID。关于密钥的详细信息,请参见管理密钥。 | |||
AccessKey Secret | 输入密钥的 AccessKey Secret。 | |||
云原生消息引擎 | BMQ 实例 | 从下拉列表中选择目标实例。 | ||
Topic | 从下拉列表中选择目标 Topic 信息。 | |||
BMQ 用户 | 输入云原生消息引擎 BMQ 用户名。 | |||
数据库密码 | 输入云原生消息引擎 BMQ 用户密码。 | |||
测试连接 | 当测试连接失败时,根据失败提示信息修改相关配置后,再次测试是否可以成功连接实例。具体提示信息如下:
| |||
Project 与计费 | 项目 | (可选)从下拉列表中选择该任务所属项目,默认在 default(默认项目) 下。您也可以单击创建新项目,创建新的项目。详细操作,请参见新建项目。 | ||
标签 | (可选)单击添加标签,设置标签键和标签值,为实例添加标签。标签的键值对规则如下:
说明
| |||
计费类型 | 按需选择计费方式,当前支持按量计费和包年包月两种计费方式。 说明 关于计费的详细信息,请参见计费说明。 | |||
购买时长 | 按需选择包年包月的购买时长。 说明 在计费方式选择包年包月时,支持设置购买时长。 |
单击下一步:配置订阅对象。
在配置订阅对象页面,配置以下参数信息。
说明
参数 | 说明 | |
---|---|---|
基本信息 | 订阅格式 | 选择数据订阅格式。订阅格式支持火山引擎 Proto 、Canal Proto、Canal JSON 和 Avro 格式。关于订阅格式的详细信息,请参见数据订阅格式。 说明 Avro 格式订阅格式当前属于邀测阶段,如需使用请提交工单联系技术支持。 |
Kafka Partition 策略 | 按需选择目标 Topic 的 Partition 接收策略。支持以下接收策略:
注意
| |
RocketMQ 队列策略 | 按需选择目标 Topic 的队列接收策略。支持以下接收策略:
注意
| |
BMQ Partition 接受策略 | 按需选择目标 Topic 的 Partition 接收策略。支持以下接收策略:
注意
| |
订阅类型 | 按需选择订阅类型,当前支持库表结构订阅、增量订阅和全量订阅。其中:
| |
订阅起始点 | 设置从某个指定位点或时间点拉取 Binlog 日志,取值如下:
说明
| |
订阅范围 | 按需勾选订阅范围,当前支持 说明
| |
订阅对象 | 在订阅对象中选择待订阅的对象。选择目标订阅对象后,您可以在右侧已选择对象框中再次确认需要订阅的对象。同时,如果在订阅对象区域勾选了整库,则在已选择对象区域不支持展开该数据库。 | |
高级配置 | 开启 ETL 配置 |
|
错误重试时间 | 源库或目标库断连后,若能在该时间内重新连上,订阅任务即可自动恢复。取值范围:600~86400,单位:秒(s)。默认值为 600 秒。 |
单击预检查。
当预检查结果存在告警或失败时,您可以根据结果提示执行以下操作:
单击操作列的详情,查看详细的告警和失败信息,并根据告警或失败信息修改库表后,单击重试。
单击操作列的忽略,忽略本次告警继续启动订阅任务。
说明
在预检查页面右下角,单击确认订单。
根据创建任务的计费类型,选择配置方式:
在确认订单配置向导页面,再次确认配置信息。阅读《数据库产品和服务条款》并勾选我已阅读并同意《数据库产品和服务条款》,然后单击创建并启动任务。
在确认订单信息配置向导页面,确认实例的计费信息。
(可选)单击代金券兑换,在代金券兑换对话框,输入代金券兑换码后单击兑换。
(可选)在代金券区域,按需勾选可用代金券,单次仅支持选中一张,即可抵扣部分费用。也可不使用代金券。
单击下一步。
说明
在支付完成配置向导页面,显示支付成功则任务创建成功。
成功创建数据订阅任务后,您可以在数据库传输服务 DTS 控制台的订阅任务列表查看到数据订阅任务。
API | 描述 |
---|---|
CreateTransmissionTask | 调用 CreateTransmissionTask 接口创建数据库传输服务任务。 |
ModifyTransmissionTask | 调用 ModifyTransmissionTask 接口修改传输任务。 |