在对数据库有少量写请求,但有大量读请求的应用场景下,单个实例可能无法承受读取压力,甚至对业务产生影响。为了实现读取能力的弹性扩展,分担数据库压力,您可以创建一个或多个只读实例,利用只读实例满足大量的数据库读取需求,增加应用的吞吐量。

其他引擎只读实例请参见:

简介

创建只读实例时会从备实例复制数据,数据与主实例一致,主实例的数据更新也会在主实例完成操作后立即自动同步到所有只读实例,您也可以在只读实例上设置只读实例延时复制

其他只读实例同步延迟问题请参见RDS MySQL 只读实例同步延迟原因与处理

说明 只读实例也为高可用架构,由主实例和备实例组成。

前提条件

实例版本如下:

  • MySQL 8.0高可用版或三节点企业版
  • MySQL 5.7高可用版或三节点企业版
  • MySQL 5.6
说明 如果您的MySQL 5.7三节点企业版实例不支持创建只读实例,请 提交工单处理。

只读实例、备实例和灾备实例三者之间的区别

  • 只读实例和主备实例在同一地域,可以在不同可用区;备实例和主实例在同一个地域;灾备实例和主备实例在不同地域。
  • 只读实例可以根据需要创建最多10个;备实例数量是固定的1~2个,高可用版1个,三节点企业版(原金融版)2个;灾备实例是不同地域的一主一备。
  • 只读实例创建并设置读权重后就会持续提供服务;备实例和灾备实例在主实例正常运行时都不会提供服务。
只读实例、主备实例和灾备实例拓扑图如下。 只读实例、主备实例和灾备实例拓扑图

计费

计费方式为包年包月或按量付费。具体费用请参见只读实例规格列表

注意事项

  • 创建包年包月只读实例时,若主实例也为包年包月,则可以选择只读实例与主实例生命周期对齐。
  • 主实例到期锁定期间,依然可以正常访问只读实例,只读实例状态会更改为运行中(主实例锁定)
  • 主实例被释放后,包年包月只读实例自动退款并释放,按量付费只读实例直接释放。

功能特点

  • 计费方式:按量付费,使用更灵活。长期使用也可以包年包月,费用更便宜。
  • 地域和可用区:与主实例在同一地域,可以在不同的可用区。
  • 规格:可以与主实例不一致,并且可以随时更改。建议只读实例规格不小于主实例规格,否则易导致只读实例延迟高、负载高等现象。
  • 网络类型:可以与主实例不一致。
  • 账号与数据库管理:不需要维护账号与数据库,全部通过主实例同步。
  • 白名单:只读实例创建时会自动复制其主实例的白名单信息,但只读实例和主实例的白名单是相互独立的。若您需要修改只读实例的白名单,请参见设置IP白名单
  • 监控与报警:提供近20个系统性能指标的监控视图,如磁盘容量、IOPS、连接数、CPU使用率、网络流量等。
  • 性能优化(仅MySQL支持):提供多种优化建议,如存储引擎检查、主键检查、大表检查、索引偏多、缺失索引等,用户可以根据优化建议并结合自身的应用特点来对数据库进行优化。

功能限制

  • 只读实例的数量:
    数据库类型 内存 数量
    MySQL ≥64GB 最多创建10个只读实例
    <64GB 最多创建5个只读实例
  • 实例备份:因主实例已有备份,只读实例暂不支持备份设置以及手动发起备份。
  • 实例恢复:
    • 不支持通过备份文件或任意时间点创建临时实例,不支持通过备份集覆盖实例。
    • 创建只读实例后,主实例将不支持通过备份集直接覆盖实例来恢复数据。
  • 数据迁移:不支持将数据迁移至只读实例。
  • 数据库管理:不支持创建和删除数据库。
  • 账号管理:不支持创建和删除账号,不支持为账号授权以及修改账号密码功能。

创建只读实例

创建MySQL只读实例

常见问题

  • 主实例上创建的账号在只读实例上可以用吗?

    主实例创建的账号会同步到只读实例,只读实例无法管理账号。账号在只读实例上只能进行读操作,不能进行写操作。

  • 只读实例能否暂停扣费?将读权重调为0可以不扣费吗?

    只读实例无法暂停扣费。如果不需要使用只读实例,请及时释放实例,详情请参见释放实例