云数据库RDS MariaDB支持高可用切换功能。当主实例不可用时,会自动触发主备切换,将主实例和备实例进行互换,切换后实例地址保持不变,应用自动连接到新的主实例(原备实例),从而保障实例的高可用性。此外,您还可以手动切换主备实例。
高可用系列实例有一个备实例,主备实例的数据会实时同步,您只能访问主实例,备实例仅作为备份形式存在,不提供业务访问。
当主实例出现故障无法访问时,会自动切换到备用实例。
注意事项
主备实例切换过程中可能会有闪断,请确保您的应用程序具有自动重连机制。
操作步骤
登录RDS管理控制台。
在页面左上角,选择实例所在地域。
找到目标实例,单击实例ID。
在左侧导航栏中,选择服务可用性。
在实例可用性区域,单击主备库切换。
选择切换时间,然后单击确定。
在主备库切换期间,有很多操作无法执行,例如管理数据库和账号、切换网络类型等,建议您选择可维护时间内进行切换。
说明若您要修改可维护时间,执行如下操作:
单击修改。
在配置信息区域修改可维护时间段,单击保存。
回到切换主备实例的页面,刷新页面,重新进行切换主备实例的操作。
常见问题
Q:主备切换后,是否需要手动切换回主实例?
不需要,主备实例的数据完全一致,主备切换后原备实例被选举成为新的主实例,无需进行额外操作。
Q:主备切换后,超过十分钟,实例状态仍未恢复运行中,可能是什么原因?如何处理?
RDS在发生异常触发高可用切换时,应用端长连接可能无法感知到连接状态变化,如果没有设置socket超时时间,应用程序会一直等待数据库返回结果,通常会等到几百秒后才会断连,期间数据库的部分连接无法正常工作,SQL会出现大量执行异常。为了避免无效连接,建议配置connectTimeout和socketTimeout,防止出现网络错误时一直等待的情况,从而缩短故障时间。
超时配置值需要根据业务负载和使用方式进行评估,在线事务场景中建议connectTimeout配置为1~2秒,socketTimeout配置为60~90秒,此配置仅供参考。