__tencentdb__
,用于记录事务标记 ID 等元信息,需要确保源库对__tencentdb__
的读写权限。__tencentdb__
。__tencentdb__
系统库占用空间非常小,约为源库存储空间的千分之一到万分之一(例如源库为50GB,则__tencentdb__
系统库约为5MB-50MB) ,并且采用单线程,等待连接机制,所以对源库的性能几乎无影响,也不会抢占资源。GRANT RELOAD,LOCK TABLES,REPLICATION CLIENT,REPLICATION SLAVE,SHOW VIEW,PROCESS,SELECT ON *.* TO '账号'@'%' IDENTIFIED BY '密码';GRANT ALL PRIVILEGES ON `__tencentdb__`.* TO '账号'@'%';FLUSH PRIVILEGES;
ALTER VIEW
语句,遇到该语句任务跳过不同步。STATEMENT
的数据。操作类型 | SQL 操作语句 |
DML | INSERT、UPDATE、DELETE |
DDL | CREATE DATABASE、DROP DATABASE、ALTER DATABASE、CREATE TABLE、ALTER TABLE、DROP TABLE、TRUNCATE TABLE、CREATE VIEW、DROP VIEW、CREATE INDEX、DROP INDEX |
类型 | 环境要求 |
源数据库要求 | 源库和目标库网络能够连通。 实例参数要求: 源库 server_id 参数需要手动设置,且值不能设置为0。 源库表的 row_format 不能设置为 FIXED。 源库变量 connect_timeout 设置数值必须大于10。 Binlog 参数要求: 源端 log_bin 变量必须设置为 ON。 源端 binlog_format 变量必须设置为 ROW。 源端 binlog_row_image 变量必须设置为 FULL。 MySQL 5.6 及以上版本 gtid_mode 变量不为 ON 时会报警告,建议打开 gtid_mode。 不允许设置 do_db,ignore_db。 源实例为从库时,log_slave_updates 变量必须设置为 ON。 建议源库 Binlog 日志至少保留3天及以上,否则可能会因任务暂停/中断时间大于 Binlog 日志保留时间,造成任务无法续传,进而导致任务失败。 外键依赖: 外键依赖建议设置为 NO ACTION,RESTRICT 两种类型,其他类型可能会影响数据一致性结果。 部分库表同步时,有外键依赖的表必须齐全。 环境变量 innodb_stats_on_metadata 必须设置为 OFF。 |
目标 Ckafka 要求 | 目标 Ckafka 可以正常连通。 目标 Ckafka 中消息大小设置的上限需要大于源库表中单行数据的最大值。 |
参数 | 描述 |
计费模式 | 支持包年包月和按量计费。 |
源实例类型 | 选择 MySQL,购买后不可修改。 |
源实例地域 | 选择源实例所在地域,购买后不可修改。如果源数据库为自建数据库,选择离自建地域最近的一个地域即可。 |
目标实例类型 | 选择 Kafka,购买后不可修改。 |
目标实例地域 | 选择目的实例所在地域,购买后不可修改。 |
规格 |
设置项 | 参数 | 描述 |
任务设置 | 任务名称 | DTS 会自动生成一个任务名称,用户可以根据实际情况进行设置。 |
| 运行模式 | 支持立即执行和定时执行两种模式。 |
源实例设置 | 源实例类型 | 购买时所选择的源实例类型,不可修改。 |
| 源实例地域 | 购买时选择的源实例所在地域,不可修改。 |
| 接入类型 | 公网:源数据库可以通过公网 IP 访问。 云主机自建:源数据库部署在 腾讯云服务器 CVM 上。 专线接入:源数据库可以通过 专线接入 方式与腾讯云私有网络打通。 VPN 接入:源数据库可以通过 VPN 连接 方式与腾讯云私有网络打通。 云数据库:源数据库属于腾讯云数据库实例。 云联网:源数据库可以通过 云联网 与腾讯云私有网络打通。 |
| 公网 | 主机地址:源数据库 IP 地址或域名。 端口:源数据库使用的端口。 |
| 云主机自建 | 云主机实例:云服务器 CVM 的实例 ID。 端口:源数据库使用的端口。 |
| 专线接入 | 私有网络专线网关/:专线接入时只支持私有网络专线网关,请确认网关关联网络类型。 私有网络:选择私有网络专线网关和 VPN 网关关联的私有网络和子网。 主机地址:源数据库 IP 地址。 端口:源数据库使用的端口。 |
| VPN 接入 | VPN 网关:VPN 网关,请选择通过 VPN 网关接入的 VPN 网关实例。 私有网络:选择私有网络专线网关和 VPN 网关关联的私有网络和子网。 主机地址:源数据库 IP 地址。 端口:源数据库使用的端口。 |
| 云数据库 | 云数据库实例:源数据库的实例 ID。 |
| 云联网 | 主机地址:源数据库的主机 IP 地址。 端口:源数据库使用的端口。 私有网络云联网:云联网实例名称。 接入 VPC:接入 VPC 指的是云联网中接入订阅链路的 VPC。请在云联网关联的所有 VPC 中,选择除了源数据库所属 VPC 外的其他 VPC。
例如,广州地域数据库作为源数据库,则接入 VPC 选择其他地域,如成都 VPC 或者上海 VPC。 子网:已选择 VPC 网络的子网名称。 接入 VPC 地域:购买任务时选择的源数据库地域与接入 VPC 地域需要保持一致,如果不一致,DTS 会将购买任务中选择的源数据库地域,改为接入 VPC 地域。 |
| 账号/密码 | 账号/密码:源数据库的账号、密码。 |
目标实例设置 | 目标实例类型 | 购买时选择的目标实例类型,不可修改。 |
| 目标实例地域 | 购买时选择的目标实例地域,不可修改。 |
| 接入类型 | 根据您的场景选择,本场景选择“Ckafka 实例”。 |
| 实例 ID | 选择目标实例 ID。 |
设置项 | 参数 | 描述 |
数据初始化选项 | 初始化类型 | 结构初始化:同步任务执行时会先将源实例中表结构初始化到目标实例中。 全量数据初始化:同步任务执行时会先将源实例中数据初始化到目标实例中。仅选择全量数据初始化的场景,用户需要提前在目标库创建好表结构。 默认两者都勾上,可根据实际情况取消。 |
| 投递到 Kakfa 数据格式 | Avro 为二进制格式,消费效率更高,JSON 为轻量级的文本格式,更加简单易用。 |
数据同步到 Kafka 策略 | 同步 Topic 策略 | 自定义 Topic 名称:自行设置投递的 Topic 名称,设置后目标端 Kafka 会自动创建该 Topic。实现效果,将同步数据随机投递到该 Topic 下的不同分区中。如果目标端 Kafka 创建 Topic 没建成功,任务会报错。 集中投递到单 Topic:选择一个目标端已有的 Topic,然后按照多种分区策略投递,支持单分区或者按表名或者按表名+主键划分分区,投递到不同分区中。 |
| 自定义 Topic 名称规则 | 用户添加了多条规则,自定义 Topic 匹配规则会从上到下逐条匹配。设置的库名和表名规则都匹配上,才会投递到该条规则对应的 Topic 中。如果没有匹配到库表匹配规则,则会投递到最后一条规则的 Topic 中;如果匹配到多条库表匹配规则,则会投递到所有匹配规则的 Topic 中。 说明: 匹配规则对库表名大小写敏感。 如果源库设置 lower_case_table_names=0,则库表匹配规则中,库表名需要与源库中的名称大小写严格保持一致。 如果源库设置 lower_case_table_names=1,则库表名统一转换为小写,库表匹配规则中库表名统一输入小写。 举例一:数据库实例 X 中,Users 库里有 Student、Teacher 表,需要将 Users 库里的数据都投递到Topic_A 中。配置规则如下: Topic 名称填入 Topic_A ,库名匹配模式填入 ^Users$ ,表名匹配模式填入 .* Topic 名称填入 Topic_default ,库名匹配模式(不符合匹配规则的剩余库),表名匹配模式(不符合匹配规则的剩余表)。示例二:数据库实例 X 中,Users 库里有 Student、Teacher 表,需要将 Student 表数据投递到Topic_A 中,Teacher 表数据投递到 Topic_default 中。配置规则如下: Topic 名称填入 Topic_A ,库名匹配模式填入 ^Users$ ,表名匹配模式填入 ^Student$ 。Topic 名称填入 Topic_default ,库名匹配模式(不符合匹配规则的剩余库),表名匹配模式(不符合匹配规则的剩余表)。 |
| 集中投递到单 Topic 规则 | 选择指定的 Topic 后,系统会按照如下指定策略进行分区。 全部投递至 Partition0:将源库的同步数据全部投递到第一个分区。 按表名分区:将源库的同步数据按照表名进行分区,设置后相同表名的数据会写入同一个分区中。 按表名+主键分区:将源库的同步数据按照表名+主键分区,适用于热点数据,设置后热点数据的表,通过表名+主键的方式将数据分散到不同分区中,提升并发消费效率。 |
| 存储 DDL 的 Topic | 可选,如果用户需要将源库的 DDL 操作单独投递到指定 Topic 中,可以在此处选择设置。
设置后默认投递到已选 Topic 的 Partition0;如果没设置会根据上面选择的 Topic 规则进行投递。 |
设置项 | 参数 | 描述 |
数据同步选项 | 同步操作类型 | |
同步对象选项 | 源实例库表对象 | 选择待同步的对象,支持基础库表、视图、存储过程和函数。高级对象的同步是一次性动作,仅支持同步在任务启动前源库中已有的高级对象,在任务启动后,新增的高级对象不会同步到目标库中。更多详情,请参考 同步高级对象。 |
| 已选对象 | 在左侧选择同步对象后,单击 ,即可在右侧看到已勾选的对象。 |
| 是否同步 Online DDL 临时表 | 如果使用 gh-ost、pt-osc 工具对源库中的表执行 Online DDL 操作,DTS 支持将 Online DDL 变更产生的临时表迁移到目标库。 勾选 gh-ost,DTS 会将 gh-ost 工具产生的临时表名(`_表名_ghc`、`_表名_gho`、`_表名_del`)迁移到目标库。 勾选 pt-osc, DTS 会将 pt-osc 工具产生的临时表名(`_表名_new`、 `_表名_old`)迁移到目标库。 |
本页内容是否解决了您的问题?