主备切换

云数据库RDS MariaDB支持高可用切换功能。当主实例不可用时,会自动触发主备切换,将主实例和备实例进行互换,切换后实例地址保持不变,应用自动连接到新的主实例(原备实例),从而保障实例的高可用性。此外,您还可以手动切换主备实例。

高可用系列实例有一个备实例,主备实例的数据会实时同步,您只能访问主实例,备实例仅作为备份形式存在,不提供业务访问。

当主实例出现故障无法访问时,会自动切换到备用实例。

注意事项

主备实例切换过程中可能会有闪断,请确保您的应用程序具有自动重连机制。

操作步骤

  1. 登录RDS管理控制台

  2. 在页面左上角,选择实例所在地域。

  3. 找到目标实例,单击实例ID。

  4. 在左侧导航栏中,选择服务可用性

  5. 实例可用性区域,单击主备库切换

  6. 选择切换时间,然后单击确定

    在主备库切换期间,有很多操作无法执行,例如管理数据库和账号、切换网络类型等,建议您选择可维护时间内进行切换。

    说明

    若您要修改可维护时间,执行如下操作:

    1. 单击修改

    2. 配置信息区域修改可维护时间段,单击保存

    3. 回到切换主备实例的页面,刷新页面,重新进行切换主备实例的操作。

常见问题

  • Q:主备切换后,是否需要手动切换回主实例?

    不需要,主备实例的数据完全一致,主备切换后原备实例被选举成为新的主实例,无需进行额外操作。

  • Q:主备切换后,超过十分钟,实例状态仍未恢复运行中,可能是什么原因?如何处理?

    RDS在发生异常触发高可用切换时,应用端长连接可能无法感知到连接状态变化,如果没有设置socket超时时间,应用程序会一直等待数据库返回结果,通常会等到几百秒后才会断连,期间数据库的部分连接无法正常工作,SQL会出现大量执行异常。为了避免无效连接,建议配置connectTimeoutsocketTimeout,防止出现网络错误时一直等待的情况,从而缩短故障时间。

    超时配置值需要根据业务负载和使用方式进行评估,在线事务场景中建议connectTimeout配置为1~2秒,socketTimeout配置为60~90秒,此配置仅供参考。