在对数据库有少量写请求,但有大量读请求的应用场景下,单个实例可能无法承受读取压力,甚至对业务产生影响。为了实现读取能力的弹性扩展,分担数据库压力,您可以创建一个或多个只读实例,利用只读实例满足大量的数据库读取需求,增加应用的吞吐量。
其他引擎只读实例请参见:
简介
创建只读实例时会从备实例复制数据,数据与主实例一致,主实例的数据更新也会在主实例完成操作后立即自动同步到所有只读实例,您也可以在只读实例上设置只读实例延时复制。
说明 只读实例也为高可用架构,由主实例和备实例组成。
前提条件
已创建如下实例:
- MySQL 8.0高可用版或三节点企业版
- MySQL 5.7高可用版或三节点企业版
- MySQL 5.6
应用场景
- 单个实例负载过大时,可以创建只读实例,将读请求转发至只读实例,用于分担主实例负载。
- 主实例因备份或维护等原因暂不可用时,可将读请求转发至只读实例,保证部分业务正常运行。
- 在报表分析等场景下,使用只读实例查询、分析大量数据,不影响主实例业务。
- 在读写分离场景下,使用只读实例可以避免读写锁争抢问题,提升系统的性能和吞吐量。
计费
计费方式为包年包月或按量付费。具体费用请参见只读实例规格列表。
注意事项
- 创建包年包月只读实例时,若主实例也为包年包月,则可以选择只读实例与主实例生命周期对齐。
- 主实例到期锁定期间,若只读实例未到期,则依然可以正常访问只读实例,只读实例状态会更改为运行中(主实例锁定)。
- 主实例被释放后,包年包月只读实例自动退款并释放,按量付费只读实例直接释放。
功能特点
- 计费方式:按量付费,使用更灵活。长期使用也可以包年包月,费用更便宜。
- 地域和可用区:与主实例在同一地域,可以在不同的可用区。
- 规格:可以与主实例不一致,并且可以随时更改。建议只读实例规格不小于主实例规格,否则易导致只读实例延迟高、负载高等现象。
- 存储类型:只读实例的存储类型需要和主实例保持一致。
- 存储空间:只读实例的存储空间不能低于主实例。
- 网络类型:可以与主实例不一致。
- 账号与数据库管理:不需要维护账号与数据库,全部通过主实例同步。
- 白名单:只读实例创建时会自动复制其主实例的白名单信息,但只读实例和主实例的白名单是相互独立的。若您需要修改只读实例的白名单,请参见通过客户端、命令行连接RDS MySQL实例。
- 监控与报警:提供近20个系统性能指标的监控视图,如磁盘容量、IOPS、连接数、CPU使用率、网络流量等。
- 主备切换:高可用版本的只读实例支持主备库切换和查看主备切换日志功能。
功能限制
- 可创建的只读实例数量:10个。
- 实例备份:因主实例已有备份,只读实例暂不支持备份设置以及手动发起备份。
- 实例恢复:
- 不支持通过备份文件或任意时间点创建临时实例,不支持通过备份集覆盖实例。
- 创建只读实例后,主实例将不支持通过备份集直接覆盖实例来恢复数据。
- 数据迁移:不支持将数据迁移至只读实例。
- 数据库管理:不支持创建和删除数据库。
- 账号管理:不支持创建和删除账号,不支持为账号授权以及修改账号密码功能。
创建只读实例
常见问题
- 主实例上创建的账号在只读实例上可以用吗?
主实例创建的账号会同步到只读实例,只读实例无法管理账号。账号在只读实例上只能进行读操作,不能进行写操作。
- 只读实例能否暂停扣费?将读权重调为0可以不扣费吗?
只读实例无法暂停扣费。如果不需要使用只读实例,请及时释放实例,详情请参见释放实例。