文档中心>数据传输服务>实践教程>基于 DTS 实现金融团体云与公有云之间的数据库同步

基于 DTS 实现金融团体云与公有云之间的数据库同步

最近更新时间:2024-12-31 14:59:22

我的收藏

操作场景

本文提供一种基于 DTS 实现金融团体云和公有云金融专区之间的数据同步方案,金融团体云是腾讯面向金融企业用户提供的专有云形式,与腾讯公有云金融专区(例如深圳金融)属于不同的网络系统,物理资源完全隔离。在数据同步之前需要先将两个网络系统打通,因为金融场景对数据安全的要求极高,建议通过专线方式打通两个金融云之间的通道。
用户可如下参考不同场景实现数据库搬迁,数据库灾备等诉求,因为两个场景操作类似,只是源库和目标库对调,所以本章节后续仅以场景一为例进行介绍。
场景一:将源端公有云的数据库同步到目标端金融团体云中。
源数据库为腾讯公有云上的云数据库实例,归属于深圳金融专区,目标库位于金融团体云中。通过专线方式先将金融团体云就近接入腾讯云一个 VPC(广州-VPC2)中,然后通过 DTS 打通 VPC2 和目标数据库所属网络。



场景二:将源端金融团体云中的数据库同步到目标端公有云中。
源数据库位于金融团体云中,目标库为腾讯公有云上的云数据库实例,归属于深圳金融专区。通过专线方式先将金融团体云就近接入腾讯云一个 VPC(广州-VPC2)中,然后通过 DTS 打通 VPC2 和目标数据库所属网络。


准备工作

网络打通

使用 DTS 进行数据库同步,需要先将金融团体云与腾讯云 VPC 进行打通。如下以源端公有云的数据库同步到目标端金融团体云为例。
1. 建立专线通道。专线接入仅支持建立同地域间的专用通道,本方案中,源数据库所属广州地域,所以我们通过专线打通“金融团体云-广州-VPC1”与“腾讯云-广州-VPC2”之间的网络。
具体专线打通操作,请参考 构建专线网络通道。将金融团体云类比为链接中的 IDC。
2. 后续 DTS 购买任务时,源实例地域需要选择源数据库所属地域,即深圳金融。目标实例地域需要选择目标库接入的腾讯云 VPC 所属地域,即 VPC2 所属的地域。
3. 后续 DTS 任务配置时,源库设置中,接入类型选择“云数据库”;目标库设置中,接入类型选择“专线接入”,私有网络子网,选择 VPC2 的网段及对应子网。

账号和权限准备

创建执行 DTS 任务的账号并授权。如下以 MySQL 为例进行介绍。
源数据库授权如下:
#(1)创建执行任务账号
CREATE USER '账号'@'%' IDENTIFIED BY '密码';
#(2)授予权限
GRANT RELOAD,LOCK TABLES,REPLICATION CLIENT,REPLICATION SLAVE,SHOW VIEW,PROCESS ON *.* TO '账号'@'%';
GRANT ALL PRIVILEGES ON `__tencentdb__`.* TO '账号'@'%';
#(3)授权 SELECT 权限
#(3.1)选择整个实例同步时授权所有对象
GRANT SELECT ON *.* TO '账号';
#(3.2)选择指定对象同步时仅授权对应对象
GRANT SELECT ON `mysql`.* TO '账号'@'%';
GRANT SELECT ON 待迁移的库.* TO '账号';
#(4)刷新权限
FLUSH PRIVILEGES;
目标数据库授权如下:
#创建执行任务账号
CREATE USER '账号'@'%' IDENTIFIED BY '密码';
#授予权限
GRANT ALTER, ALTER ROUTINE, CREATE,CREATE ROUTINE, CREATE TEMPORARY TABLES, CREATE USER, CREATE VIEW, DELETE, DROP, EVENT, EXECUTE, INDEX, INSERT, LOCK TABLES, PROCESS, REFERENCES, RELOAD, SELECT, SHOW DATABASES, SHOW VIEW, TRIGGER, UPDATE ON *.* TO '账号'@'%' IDENTIFIED BY '密码';
FLUSH PRIVILEGES;

注意事项

正向同步、反向同步,是两个独立的单向同步任务,每个独立任务的约束、操作限制等要求都需要满足同步任务基本要求,请参考 数据同步 节点下的链路配置指导。
DTS 在执行全量数据同步时,会占用一定源数据库资源,可能会导致源数据库负载上升,增加数据库自身压力。如果您数据库配置过低,建议您在业务低峰期进行。

操作步骤概要

使用 DTS 进行数据库搬迁的场景中,为防止割接后目标库出现数据异常,推荐使用数据同步配置反向逃生链路,这样在目标库发生异常时,可以将业务回切到源库上。




操作步骤详情

说明:
不同数据库链路的操作场景类似,如下以 MySQL 同步到 MySQL 为例进行介绍,更多内容请参考 数据同步 节点下的链路配置指导。

步骤一:购买 DTS 任务

登录 数据同步购买页,选择相应配置后,单击立即购买
购买正向任务时,源实例地域需要选择源数据库所属地域,即深圳金融。目标实例地域需要选择目标库接入的腾讯云 VPC 所属地域,即 VPC2 所属的地域。
购买反向任务时,源和目标的地域选择与正向任务对调。

步骤二:配置并启动正向同步

1. 购买完成后,返回 数据同步列表,可看到刚创建的数据同步任务,单击操作列的配置,进入配置同步任务页面。



2. 在配置同步任务页面,配置源端实例、账号密码,配置目标端实例、账号和密码,测试连通性后,单击下一步





3. 在设置同步选项和同步对象页面,将对数据初始化选项、数据同步选项、同步对象选项进行设置,在设置完成后单击保存并下一步
初始化类型选择“结构初始化 + 全量数据初始化”,已存在同名表选择“前置校验并报错”。同步操作类型根据业务场景选择。



4. 在校验任务页面,完成校验并全部校验项通过后,单击启动任务
如果校验任务不通过,可以参考 校验不通过处理方法 修复问题后重新发起校验任务。
失败:表示校验项检查未通过,任务阻断,需要修复问题后重新执行校验任务。
警告:表示检验项检查不完全符合要求,可以继续任务,但对业务有一定的影响,用户需要根据提示自行评估是忽略警告项还是修复问题再继续。



5. 返回数据同步任务列表,任务开始进入运行中状态。



6. (可选)您可以单击任务名,进入任务详情页,查看任务初始化状态和监控数据。

步骤三:配置反向同步

反向同步和正向同步操作基本一致,以下仅对差异点进行说明。
1. 设置同步源和目标数据库。
2. 本步骤中的源和目标数据库的参数配置与正向任务进行互换。
3. 设置同步选项和同步对象。
初始化类型:都不勾选。
已存在同名表:选择“忽略并继续执行”。
主键冲突处理机制:根据业务情况自行选择。
同步操作类型:与正向任务保持一致。
4. 在校验任务页面,进行校验,校验通过后启动任务。

步骤四:数据对比验证

建议在割接前进行多次全量数据的对比验证,及时发现异常数据。在割接当天仅对比增量数据,提升数据对比验证的效率。

步骤五:业务割接

待正向同步任务中增量数据都已追平,数据差距和时延差距都为0,即可启动割接。



1. 数据验证无误后进行业务割接。这里的数据验证,可使用 一致性校验功能 进行辅助校验。
2. 结束正向同步任务。
3. 手动将源库业务对接到目标库。

步骤六:启动反向同步

割接完成后立即启动反向同步任务。