对于数据可靠性有强需求的业务场景或是有监管需求的金融业务场景,RDS MySQL提供异地灾备实例,帮助用户提升数据可靠性。

背景介绍

RDS通过数据传输服务(DTS)实现主实例和异地灾备实例之间的实时同步。主实例和灾备实例均搭建主备高可用架构,当主实例所在区域发生突发性自然灾害等状况,主实例(Master)和备实例(Slave)均无法连接时,可将异地灾备实例切换为主实例,在应用端修改数据库连接地址后,即可快速恢复应用的业务访问。

灾备实例可通过DTS管理控制台实现同步对象变更、同步速度设置、延迟报警等同步链路原生功能,详细信息请参见DTS产品文档

灾备实例拓扑图如下图所示。

灾备实例还有以下功能特点:

  • 提供独立的数据库连接地址,由用户应用端自助控制连接。
  • 使用主备高可用架构。
  • 支持按小时计费,即开即用、即停即止。
  • 提供独立的白名单配置、账号管理。

计费说明

RDS灾备实例与主实例配置完全相同,且RDS通过DTS实现主实例和异地灾备实例之间的实时同步。因此,创建灾备实例会同时产生RDS和DTS两种费用,价格详情请分别参见云数据库 RDS 详细价格信息数据传输详细价格信息

前提条件

  • 实例版本如下:
    • MySQL 8.0高可用版/三节点企业版
    • MySQL 5.7高可用版/三节点企业版
    • MySQL 5.6
  • 主实例必须有内网地址
  • 主实例位于以下地域:
    • 华东1(杭州)
    • 华东2(上海)
    • 华北1(青岛)
    • 华北2(北京)
    • 华南1(深圳)
    • 中国(香港)
    • 新加坡
    • 美国(弗吉尼亚)

功能限制

  • 灾备实例不支持备份设置、备份恢复、数据迁移、数据库管理、申请外网访问地址、修改连接地址功能。
  • 删库操作不会同步至灾备实例,请您登录灾备实例通过SQL命令手动删除。

操作步骤

  1. 登录RDS 管理控制台
  2. 在页面左上角,选择实例所在地域。选择地域
  3. 找到目标实例,单击实例ID。
  4. 单击右侧实例分布中的添加灾备实例
  5. 创建同步作业 页面输入数据库账号密码。
    说明
    • 帐号需要具备Replication slave、 Replication client及所有同步对象的Select权限。
    • MySQL 5.6版本不需要输入账号密码,请跳过该步骤。
  6. 单击立即购买实例,购买灾备实例。
  7. 目标RDS实例购买窗口选择实例所在地域,单击立即购买
    说明
    • 购买灾备实例暂仅支持选择地域,计费方式仅支持按量付费,其余设置信息默认与主实例一致。若有灾备实例升级需求,可在创建成功后在控制台对灾备实例进行变更配置。
    • 创建灾备实例需要数分钟时间,在此期间请勿关闭该窗口,否则灾备实例可能会创建失败。
  8. 灾备实例购买成功后,实例ID自动添加到目标实例ID中,请单击立即创建账号跳转到账号管理页面创建高权限账号用于迁移。
    说明 MySQL 5.6会自动创建同步账号供DTS同步使用,请跳过此步骤。
    立即创建账号
  9. 创建完成后回到创建同步作业页面填写账号密码,然后单击授权白名单并进入下一步
    说明 MySQL 5.6请直接单击授权白名单并进入下一步,等待账号创建后单击下一步
  10. 源库对象中选择要迁移的对象,单击>将要迁移的对象放入已选择对象中,单击下一步
    说明 如果需要批量修改表名称,可以在选择表之后选择要进行库表名称批量更改,然后单击高级设置并进行批量修改。批量修改库表名
  11. 选择同步初始化类型,然后单击预检查并启动
    说明 同步初始化指将本地实例中同步对象的结构及数据迁移一份到灾备实例中,作为后续增量同步数据的基础。同步初始化有结构初始化和全量数据初始化可选,首次同步数据时,两者均需选择。
  12. 以下以预检查不通过为例进行描述,如果预检查通过,请直接参见步骤 13。

    单击失败的检测项后的,查看失败详细信息,根据失败详细信息完成错误排查。

  13. 错误排查完毕后,在同步作业列表页面,单击当前同步任务后的启动同步
  14. 系统预检查通过后,单击关闭,自动启动同步任务。
  15. 在DTS数据同步列表页面可以查询创建的同步任务,并可以对同步任务进行修改同步对象、设置监控报警、修改同步速度等操作,详情请参见 DTS 产品文档
    说明 为保障灾备实例数据的实时性,请不要暂停同步灾备实例的同步任务。

常见问题

  • 灾备实例不能包年包月吗?

    灾备实例当前仅支持按量付费,不支持包年包月。

  • 实例怎么突然多了个帐号dtssyncwriter?

    对于MySQL 5.6实例,创建灾备实例时会自动创建账号dtssyncwriter供DTS同步使用,请勿对该账号进行任何修改或删除操作,否则将引起同步异常。