一、场景说明
如果用户的 TDSQL-C MySQL 版集群部署在单个地域中,可能会因为断电、网络中断等不可抗因素而导致服务中断。
针对这种情况,用户可以在另一个地域构建灾备中心,以提高服务可用性。使用 DTS 数据传输服务可以在业务中心和灾备中心之间持续同步数据更新,并保持地域间副本同步。如果业务地域发生故障,用户可以将请求切换到灾备地域。
通过构建异地灾备架构,当某个数据中心出现灾难性事故时,可以将发生异常的数据中心的流量划拨到其他数据中心,实现跨地域的快速故障转移,保证业务的正常运行。
二、建立异地灾备流程
步骤一:购买集群
登录 TDSQL-C MySQL 版购买页 分别在不同地域购买两套 TDSQL-C MySQL 版集群,其中一套集群为业务中心,另一套集群为灾备中心。
注意:说明:
注意:关于数据同步的源集群和目标集群的版本等环境要求,以及数据同步的前提条件,你可参见 TDSQL-C MySQL 同步至 TDSQL-C MySQL。
步骤二:使用 DTS 数据传输服务搭建异地灾备流程
1. 登录 数据同步购买页,选择相应配置,单击立即购买。
| 参数 | 描述 |
| 计费模式 | 支持包年包月和按量计费。 |
| 源实例类型 | 选择 TDSQL-C MySQL,购买后不可修改。 |
| 源实例地域 | 选择源实例所在地域,购买后不可修改。 |
| 目标实例类型 | 选择 TDSQL-C MySQL,购买后不可修改。 |
| 目标实例地域 | 选择目的实例所在地域,购买后不可修改。 |
| 规格 | 请根据业务诉求选择规格,规格越高,性能越好。详情请参考 计费概述。 |
2. 购买完成后,返回 数据同步列表,可看到刚创建的数据同步任务,刚创建的同步任务需要进行配置后才可以使用。
3. 在数据同步列表,单击操作列的配置,进入配置同步任务页面。
4. 在配置同步任务页面,配置源端实例、账号密码,配置目标端实例、账号和密码,测试连通性后,单击下一步。
因源数据库部署形态和接入类型的交叉场景较多,各场景同步操作步骤类似,如下仅提供典型场景的配置示例,其他场景请用户参考配置。
以 TDSQL-C MySQL 同步至 TDSQL-C MySQL 为例:
| 设置项 | 参数 | 描述 |
| 任务设置 | 任务名称 | DTS 会自动生成一个任务名称,用户可以根据实际情况进行设置。 |
| | 运行模式 | 支持立即执行和定时执行两种模式。 |
| 源实例设置 | 源实例类型 | 购买时所选择的源实例类型,不可修改。 |
| | 源实例地域 | 购买时选择的源实例所在地域,不可修改。 |
| | 服务提供商 | 自建数据库(包括云服务器上的自建)或者腾讯云数据库,请选择“普通”;第三方云厂商数据库,请选择对应的服务商。本场景选择“普通”。 |
| | 接入类型 | 请根据你的场景选择,本场景选择“云数据库”,不同接入类型的准备工作请参考 准备工作概述。公网:源数据库可以通过公网 IP 访问。云主机自建:源数据库部署在 腾讯云服务器 CVM 上。专线接入:源数据库可以通过 专线接入 方式与腾讯云私有网络打通。VPN接入:源数据库可以通过 VPN 连接 方式与腾讯云私有网络打通。云数据库:源数据库属于腾讯云数据库实例。云联网:源数据库可以通过 云联网 与腾讯云私有网络打通。私有网络 VPC:源数据和目标数据库都部署在腾讯云上,且有 私有网络。如果需要使用私有网络 VPC 接入类型,请 提交工单 申请。 |
| | 实例 ID | 源实例 ID。可在 集群列表 查看源实例信息。 |
| | 账号 | 源实例账号,账号权限需要满足要求。 |
| | 密码 | 源实例账号的密码。 |
| 目标实例设置 | 目标实例类型 | 购买时选择的目标实例类型,不可修改。 |
| | 目标实例地域 | 购买时选择的目标实例地域,不可修改。 |
| | 接入类型 | 根据你的场景选择,本场景选择“云数据库”。 |
| | 实例 ID | 选择目标实例 ID。 |
| | 账号 | 目标实例账号,账号权限需要满足要求。 |
| | 密码 | 目标实例账号的密码。 |
5. 在设置同步选项和同步对象页面,将对数据初始化选项、数据同步选项、同步对象选项进行设置,在设置完成后单击保存并下一步。
注意:说明:
| 设置项 | 参数 | 描述 |
| 数据初始化选项 | 初始化类型 | 结构初始化:同步任务执行时会先将源实例中表结构初始化到目标实例中。全量数据初始化:同步任务执行时会先将源实例中数据初始化到目标实例中。仅选择全量数据初始化的场景,用户需要提前在目标库创建好表结构。默认两者都勾上,可根据实际情况取消。 |
| | 已存在同名表 | 前置校验并报错:存在同名表则报错,流程不再继续。忽略并继续执行:全量数据和增量数据直接追加目标实例的表中。 |
| 数据同步选项 | 冲突处理机制 | 冲突报错:在同步时发现表主键冲突,报错并暂停数据同步任务。冲突忽略:在同步时发现表主键冲突,保留目标库主键记录。冲突覆盖:在同步时发现表主键冲突,用源库主键记录覆盖目标库主键记录。 |
| | 同步操作类型 | 支持操作:Insert、Update、Delete、DDL。勾选“DDL 自定义”,可以根据需要选择不同的 DDL 同步策略。详情请参考 设置 SQL 过滤策略。 |
| 同步对象选项 | 源实例库表对象 | 选择待同步的对象,支持基础库表、视图、存储过程和函数。高级对象的同步是一次性动作,仅支持同步在任务启动前源库中已有的高级对象,在任务启动后,新增的高级对象不会同步到目标库中。更多详情,请参考 同步高级对象。 |
| | 已选对象 | 支持库表映射(库表重命名),将鼠标悬浮在库名、表名上即显示编辑按钮,单击后可在弹窗中填写新的名称。选择高级对象进行同步时,建议不要进行库表重命名操作,否则可能会导致高级对象同步失败。 |
| | 是否同步 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`)迁移到目标库。更多详情请参考 同步 Online DDL 临时表。 |
6. 在校验任务页面,完成校验并全部校验项通过后,单击启动任务。
如果校验任务不通过,可以参考 校验不通过处理方法 修复问题后重新发起校验任务。
·失败:表示校验项检查未通过,任务阻断,需要修复问题后重新执行校验任务。
·警告:表示检验项检查不完全符合要求,可以继续任务,但对业务有一定的影响,用户需要根据提示自行评估是忽略警告项还是修复问题再继续。
7. 返回数据同步任务列表,任务开始进入运行中状态。
注意:选择操作列的更多 > 结束可关闭同步任务,请你确保数据同步完成后再关闭任务。
8. (可选)你可以单击任务名,进入任务详情页,查看任务初始化状态和监控数据。