华为云用户手册

  • 操作场景 随着业务数据的增加,原来申请的数据库磁盘容量可能会不足,需要为云数据库RDS实例进行扩容。实例扩容的同时备份空间也会随之扩大。 当实例处于“磁盘空间满”状态时,需扩容至磁盘空间使用率小于87%才可使实例处于可用状态,使数据库恢复正常的写入操作。 建议您设置“磁盘使用率”指标的告警规则,及时了解磁盘使用情况,起到预警作用,具体请参见设置告警规则。 磁盘扩容期间,服务不中断。云数据库RDS服务只支持扩容磁盘存储空间大小,不支持变更存储类型。
  • 约束限制 账户余额大于等于0元,才可进行扩容。 实例状态为“正常”和“存储空间满”时可以进行扩容。 云数据库 RDS for MariaDB实例SSD盘的最大扩容容量与所选实例规格有关,其他存储类型的磁盘最大可扩容至4000GB(如果您想提高存储空间扩容上限到10TB,请联系客服申请),扩容次数没有限制。 磁盘扩容期间,实例状态为“扩容中”备份业务不受影响。 如果是主备实例,针对主实例扩容时,会同时对其备实例进行扩容。 磁盘扩容的过程中,不需要重启数据库实例。 扩容过程中,该实例不可重启和删除。 磁盘容量变更只允许扩容,不能缩容。 选择磁盘加密的实例,新扩容的磁盘空间依然会使用原加密密钥进行加密。
  • 约束限制 账户余额大于等于0元,才可变更规格。 当实例进行CPU/内存规格变更时,该实例不可被删除。 当实例进行CPU/内存规格变更时,不能对该实例做如下操作:重启数据库、扩容磁盘、修改参数组、创建手动备份、创建数据库账号、创建数据库等。 RDS for MariaDB实例支持规格升配,也支持降配。 变更过程中若存在大事务,可能导致变更失败。 如果实例的主备同步延迟大于5分钟,下发规格变更操作会失败。 变更规格会导致业务中断,请确保您的应用有自动重连机制。请在业务低峰期变更规格,在业务高峰期执行会导致变更时长变长。 变更规格所需的时间(非业务高峰期)需要5~15分钟。超过变更时长,请及时联系华为云客服。
  • 操作场景 云数据库RDS服务支持切换主备实例的数据同步方式,以满足不同业务需求。可选择 “异步”或者“半同步”两种方式。 异步: 应用更新数据时,主库执行完操作后立即向应用返回响应,通常具有较高的性能。 半同步(默认选择): 应用更新数据时,主库需要等待备库收到日志才向应用返回响应,对性能有影响。 半同步方式下,如果备库异常,会导致主库等待备库响应数秒钟,在此期间会阻塞主库对业务写操作的响应,直至出现下列场景: 如果备库恢复正常,则主库恢复对业务写操作的响应。 如果备库等待时间段内没有恢复正常,实例会自动切换为异步方式,切换完毕后主库恢复对写操作的响应。
  • 约束限制 正在执行操作的实例不能手动删除,只有在实例操作完成后,才可删除实例。 支持批量删除按需计费的实例,最多可以删除50个。 “按需计费”类型的实例删除后将不再产生费用,实例生成的自动备份会被同步删除,保留的手动备份会继续收取费用。 删除主实例时,会同步删除其对应的备实例和只读实例,请您谨慎操作。 实例删除后,资源立即释放,请谨慎操作。如需保留数据,请务必确认完成数据备份后再删除实例。 通过保留的手动备份,可以恢复实例数据,具体请参见通过备份文件恢复全量数据。
  • RDS自定义策略样例 示例1:授权用户创建RDS实例 { "Version": "1.1", "Statement": [{ "Effect": "Allow", "Action": ["rds:instance:create"] }] } 示例2:拒绝用户删除RDS实例 拒绝策略需要同时配合其他策略使用,否则没有实际作用。用户被授予的策略中,一个授权项的作用如果同时存在Allow和Deny,则遵循Deny优先。 如果您给用户授予RDS FullAccess的系统策略,但不希望用户拥有RDS FullAccess中定义的删除RDS实例,您可以创建一条拒绝删除云服务的自定义策略,然后同时将RDS FullAccess和拒绝策略授予用户,根据Deny优先原则,则用户可以对RDS实例执行除了删除RDS实例外的所有操作。拒绝策略示例如下: { "Version": "1.1", "Statement": [{ "Action": ["rds:instance:delete"], "Effect": "Deny" }] }
  • 操作流程 图1 给用户授权RDS权限流程 创建用户组并授权 在 IAM 控制台创建用户组,并授予关系型数据库只读权限“RDS ReadOnlyAccess”。 如果需要使用到对接其他服务的一些功能时,除了需要配置“RDS ReadOnlyAccess”权限外,还需要配置对应服务的权限。 例如:使用控制台连接实例时,除了需要配置“RDS ReadOnlyAccess”权限外,您还需要配置数据管理服务“DAS FullAccess”权限后,才可正常使用控制台登录数据库实例。 创建用户并加入用户组 在IAM控制台创建用户,并将其加入1中创建的用户组。 用户登录并验证权限 新创建的用户登录控制台,切换至授权区域,验证权限: 在“服务列表”中选择云数据库RDS,进入RDS主界面,单击右上角“购买关系型数据库”,尝试购买关系型数据库,如果无法购买关系型数据库(假设当前权限仅包含RDS ReadOnlyAccess),表示“RDS ReadOnlyAccess”已生效。 在“服务列表”中选择除云数据库RDS外(假设当前策略仅包含RDS ReadOnlyAccess)的任一服务,若提示权限不足,表示“RDS ReadOnlyAccess”已生效。
  • 定时任务 原因及现象 如果实例负载随时间有规律性变化,可能是存在定时任务。 您可以在控制台查看实例的Delete语句执行频率、Insert语句执行频率、Insert_Select语句执行频率、Replace语句执行频率、Replace_Selection语句执行频率、Select语句执行频率、Update语句执行频率等指标,判断是否有规律性变化。具体操作,请参见查看监控指标。 解决方案 调整定时任务的执行时间,建议在业务低峰期执行。
  • 实例瓶颈 原因及现象 实例到达瓶颈的原因一般有如下几种: 业务量持续增长而没有扩容。 硬件老化,性能有损耗。 数据量一直增加,数据结构也有变化,导致原来不慢的SQL变成慢SQL。 您可以在控制台查看实例的资源使用情况。如果资源使用率各项指标都接近100%,可能是实例到达了瓶颈。具体操作,请参见查看实例运行情况。 解决方案 确认实例到达瓶颈后,建议升级实例规格。具体操作,请参见变更实例的CPU和内存规格。
  • 解决方案 随着业务数据的增加,原来申请的数据库磁盘容量可能会不足,建议用户磁盘扩容,确保磁盘空间足够。 您可以通过智能DBA助手查看实例的内存使用情况,具体请参见查看磁盘空间。 如果原有规格的磁盘已是最大的,请先升级规格。 请参见变更实例的CPU和内存规格。 请及时处理过期数据文件。 您可以在控制台查看监控数据库CPU、内存、磁盘、连接数等指标,并且设置告警策略,出现告警时可以提前识别风险。 请参见查看实例运行情况。
  • RDS for MariaDB数据库内存使用率过高怎么处理 对于用户核心业务相关的库 请扩容实例规格。 对于非用户核心业务相关的库 查看本地计算机的内存使用率,如果使用率曲线持续平缓,则无需处理。 对于用户核心业务相关但是数据库规格配置很高的库 在业务低峰期,将数据库参数“performance_schema”的值调整为“OFF”,需要重启数据库才能生效。 通过智能DBA助手查看实例的内存使用情况,具体请参见查看性能指标。 如果实例的空间使用率仍持续保持较高: 请扩容实例规格。 调整数据库参数“innodb_buffer_pool_size”的值: 数据库实例为2GB规格,参考值268,435,456 Byte(256MB)。 数据库实例为4GB规格,参考值1,073,741,824 Byte(1GB)。 数据库实例为8GB规格,参考值3,221,225,472 Byte(3GB)。 数据库实例内存大于8GB规格,则无需调整。 请根据业务实际情况,调整参数“innodb_buffer_pool_size”的值。 MariaDB本身具有内存动态平衡机制,90%以下您可无需关注。 RDS for MariaDB的内存分配可划分为Engine层与Server层。 Engine层的内存包括InnoDB Buffer Pool、Log Buffer、Full Text Index Cache,其中InnoDB Buffer Pool为常驻内存,占用内存较大。 InnoDB缓冲池是一个内存区域,用于保存InnoDB表、索引和其他辅助缓冲区的缓存数据,可以通过参数“innodb_buffer_pool_size”定义缓冲池大小。 Server层的内存占用较高的包括Thread Cache、BinLog Cache、Sort Buffer、Read Buffer、Join Buffer等线程缓存,这类缓存非常驻内存,往往会随着连接关闭而释放。 以上内存的分配导致RDS for MariaDB实例运行时内存使用率在80%左右。 父主题: 性能调优
  • 解决方法 分析慢SQL日志以及CPU使用率指标来定位效率低的查询,再优化查询效率低的语句。 查看慢SQL日志来确定是否存在运行缓慢的SQL查询以及各个查询的性能特征(如果有),从而定位查询运行缓慢的原因。 查询RDS for MariaDB日志,请参见查看或下载慢日志。 查看数据库实例的CPU使用率指标,协助定位问题。 请参见查看监控指标。 创建只读实例专门负责查询。减轻主实例负载,分担数据库压力。 多表关联查询时,关联字段要加上索引。 尽量避免用select*语句进行全表扫描,可以指定字段或者添加where条件。
  • 如何提高RDS数据库的查询速度 可以参考如下建议: 如果产生了慢日志,可以通过查看慢日志来确定是否存在运行缓慢的SQL查询,以及各个查询的性能特征,从而定位查询运行缓慢的原因。查询RDS for MariaDB日志,请参见查看或下载慢日志。 查看云数据库RDS的CPU使用率指标,协助定位问题。具体请参见查看监控指标。 可以创建只读实例专门负责查询,减轻主实例负载,分担数据库压力。 如果是实例规格较小但负载过高,您可以提高CPU/内存规格,具体请参见变更实例的CPU和内存规格。 多表关联查询时,关联字段要加上索引。 可以指定字段或者添加where条件进行查询,避免用select*语句进行全表扫描。 父主题: 性能调优
  • RDS支持的最大IOPS是多少 华为云关系型数据库服务支持的IOPS取决于云硬盘(Elastic Volume Service,简称EVS)的IO性能,具体请参见《云硬盘产品介绍》中“磁盘类型及性能介绍”的内容。 RDS for MariaDB本地SSD盘的IOPS如下: 表1 x86通用型规格对应的IOPS vCPU 内存(GB) 读IOPS 写IOPS 2 4 2000 2000 2 8 4000 4000 4 8 5000 5000 4 16 7000 7000 8 16 8000 8000 8 32 12000 12000 16 64 14000 14000 表2 独享型规格对应的IOPS vCPU 内存(GB) 读IOPS 写IOPS 4 16 4500 4500 4 32 9000 9000 8 32 9000 9000 8 64 18000 18000 16 64 18000 18000 16 128 36000 36000 32 128 36000 36000 32 256 72000 72000 64 512 144000 144000 父主题: 性能调优
  • 前提条件 绑定弹性公网IP并设置安全组规则。 对目标实例绑定弹性公网IP。 获取弹性云服务器的IP地址。 设置安全组规则。 将1.b中获取的IP地址及目标实例的端口加入安全组允许访问的范围中。 使用ping命令连通1.a中绑定的弹性公网IP,确保弹性云服务器可以访问该弹性公网IP。 使用客户端连接实例。 在Linux操作系统中,您需要在您的设备上安装MariaDB客户端。建议您下载的MariaDB客户端版本高于已创建的RDS实例中数据库版本。
  • 前提条件 登录弹性云服务器。 创建并登录弹性云服务器,请参见《弹性云服务器快速入门》中“购买弹性云服务器”和“登录弹性云服务器”。 通过弹性云服务器连接云数据库RDS实例,需要具备以下条件。 该弹性云服务器与目标实例必须处于同一VPC内。 该弹性云服务器必须处于目标实例所属安全组允许访问的范围内。 如果目标实例所属安全组为默认安全组, 则无需设置安全组规则。 如果目标实例所属安全组非默认安全组,请查看安全组规则是否允许该弹性云服务器访问。 如果安全组规则允许弹性云服务器访问,即可连接实例。 如果安全组规则不允许弹性云服务器访问,则需添加安全组规则。该弹性云服务器必须处于目标实例所属安全组允许访问的范围内。 使用客户端连接实例。 在Linux操作系统中,您需要在可访问云数据库RDS的设备上安装MariaDB客户端。建议您下载的MariaDB客户端版本高于已创建的RDS实例中数据库版本。
  • 连接RDS for MariaDB实例的方式 云数据库RDS for MariaDB提供使用MySQL命令行、JDBC和数据管理服务(Data Admin Service,简称DAS)的连接方式。 表1 RDS连接方式 连接方式 使用场景 通过MySQL命令行客户端连接实例 在Linux操作系统中,您需要在您的设备上安装MariaDB客户端,通过MySQL命令行连接实例。支持公网和内网两种连接方式: 系统默认提供内网IP地址。 当应用部署在弹性云服务器上,且该弹性云服务器与RDS for MariaDB实例处于同一区域,同一VPC时,建议单独使用内网IP连接弹性云服务器与RDS for MariaDB实例。 不能通过内网IP地址访问RDS for MariaDB实例时,使用公网访问,建议单独绑定弹性公网IP连接弹性云服务器(或公网主机)与RDS for MariaDB实例。 通过JDBC连接实例 通过JDBC连接实例的方式包括两种:无需下载SSL证书和需下载SSL证书。使用SSL证书连接通过了加密功能,具有更高的安全性。RDS for MariaDB新实例默认关闭SSL 数据加密 ,开启SSL请参考设置SSL数据加密。SSL连接实现了数据加密功能,但同时也会增加网络连接响应时间和CPU消耗,不建议开启SSL数据加密。 通过DAS连接实例 通过DAS这款可视化的专业数据库管理工具,可获得执行SQL、高级数据库管理、智能化运维等功能,做到易用、安全、智能地管理数据库。云数据库RDS服务默认开通DAS连接权限。 父主题: 连接实例
  • 数据库命名规范 所有的数据库对象名称(包括库名、表名、列名等)建议以小写字母命名,每个单词之间用下划线分隔。 所有的数据库对象名称禁止使用RDS for MariaDB保留关键字。 数据库对象的命名要能做到见名知意,并且不超过32个字符。 数据库中用到的临时表以“tmp”为前缀并以日期为后缀。 数据库中用到的备份表以“bak”为前缀并以日期为后缀。 在不同的库或表中,要保证所有存储相同数据的列名和列类型必须一致。
  • 数据库索引设计规范 限制每张表上的索引数量,建议单张表索引不超过5个。索引并不是越多越好,索引可以提高查询的效率,但会降低写数据的效率。有时不恰当的索引还会降低查询的效率。 禁止给表中的每一列都建立单独的索引。设计良好的联合索引比每一列上的单独索引效率要高出很多。 每个InnoDB表强烈建议有一个主键,且不使用更新频繁的列作为主键,不使用多列主键,不使用UUID、MD5、字符串列作为主键。最好选择值的顺序是连续增长的列作为主键,所以建议选择使用自增ID列作为主键。 建议在下面的列上建立索引: 在SELECT,UPDATE,DELETE语句的WHERE从句上的列。 在ORDER BY,GROUP BY,DISTINCT上的列。 多表JOIN的关联列。 索引列顺序: 区分度最高的列放在联合索引的最左侧。区分度=列中不同值的数量/列的总行数。 尽量把字段长度小的列放在联合索引的最左侧。因为字段长度越小,一页能存储的数据量越大,IO性能也就越好。 使用最频繁的列放到联合索引的左侧。这样可以比较少的建立一些索引。 避免冗余的索引,例如:primary key(id),index(id),unique index(id) 避免重复的索引,例如:index(a,b,c),index(a,b),index(a),由于RDS for MariaDB查询优化器无法确定使用哪个索引,所以重复的和冗余的索引会降低查询效率。 在VARCHAR字段上建立索引时,需指定索引长度,没必要对全字段建立索引,根据实际文本区分度决定索引长度即可。 一般对字符串类型数据,长度为20的索引,区分度会高达90%以上,可以使用 count(distinct left(列名, 索引长度))/count(*) 的区分度来确定。 对于频繁查询优先考虑使用覆盖索引。 覆盖索引指包含了所有查询字段的索引,不仅仅是WHERE从句GROUP BY从句中的列,也包含SELECT查询的列组合,避免InnoDB表进行索引的二次查询。 外键约束: 建立外键关系的对应列的字符集必须保持一致或者存在外键关系的子表父表的字符集保持一致。
  • 数据库字段设计规范 优先为表中的每一列选择符合存储需要的最小的数据类型。优先考虑数字类型,其次为日期或二进制类型,最后是字符类型。列的字段类型越大,建立索引占据的空间就越大,导致一个页中的索引越少,造成IO次数增加,从而影响性能。 整数型选择能符合需求的最短列类型,如果为非负数,声明需是无符号(UNSIGNED)类型。 每个字段尽可能具有NOT NULL属性。 避免使用ENUM类型,可以用TINYINT类型替换。修改ENUM值需要使用ALTER语句,ENUM类型的ORDER BY操作效率低,需要额外操作。 如果定义了禁止ENUM的枚举值是数值,可使用其他数据类型(如CHAR类型)。 实数类型使用DECIMAL,禁止使用FLOAT和DOUBLE类型。FLOAT和DOUBLE在存储的时候,存在精度损失的问题,很可能在值的比较时,得到错误的结果。 使用DATETIME、TIMESTAMP类型来存储时间,禁止使用字符串替代。 使用数字类型INT UNSIGNED存储IP地址,用INET_ATON、INET_NTOA可以在IP地址和数字类型之间转换。 VARCHAR类型的长度应该尽可能短。VARCHAR类型虽然在硬盘上是动态长度的,但是在内存中占用的空间是固定的最大长度。 使用VARBINARY存储大小写敏感的变长字符串,VARBINARY默认区分⼤小写,没有字符集概念,速度快。
  • 数据库基本设计规范 所有表如果没有特殊需求,都要使用InnoDB存储引擎。InnoDB存储引擎支持事务、行级锁、具有更好的恢复性、高并发下性能更强。 数据库和表的字符集统一使用UTF8字符集,避免由于字符集的转换产生乱码。 所有的表和字段都需要添加注释。使用comment从句添加表和列的备注,从设计初期维护好数据字典。 谨慎使用RDS for MariaDB分区表,避免跨分区查询,否则查询效率会降低。分区表在逻辑上表现为一个表,但是在物理层面上将数据存储在多个文件。建议尽可能将分区表的不同分区文件存储在不同的磁盘阵列上。 表中的列不要太多,尽量做到冷热数据分离,减小表的宽度,以便在一页内存中容纳更多的行,进而减少磁盘IO,更有效的利用缓存。 经常一起使用的列尽量放到一个表中,避免过多的关联操作。 禁止在表中建立预留字段,否则修改列的类型会导致锁表,修改一个字段类型的成本要高于增加一个字段。 禁止在数据库中存储图片、文件等大的二进制数据。
  • 数据库实例 数据库实例类型选择 主备 一主一备的经典高可用架构。适用于大中型企业的生产数据库,覆盖互联网、物联网、零售电商、物流、游戏等行业应用。 备机提高了实例的可靠性,创建主机的过程中,同步创建备机,备机创建成功后,用户不可见。 当主节点故障后,会发生主备切换,数据库客户端会发生短暂中断,数据库客户端需要支持重新连接。 单机 采用单个数据库节点部署架构,与主流的主备实例相比,它只包含一个节点,但具有高性价比。 适用于个人学习、微型网站以及中小企业的开发测试环境。 单机版出现故障后,无法保障及时恢复。 只读 RDS for MariaDB支持单机版只读实例。 当只读实例与主数据库之间复制异常后,只读实例需要较长时间重建和恢复(取决于数据量)。 实例性能规格选择 独享型 完全独享的CPU和内存,性能长期稳定,不会因为物理机上其它实例的行为而受到影响,适用于对性能稳定性要求较高的应用场景。 通用型 与同一物理机上的其他通用型规格实例共享CPU资源,通过资源复用换取CPU使用率最大化,性价比较高,适用于对性能稳定性要求较低的应用场景。
  • 备份恢复 业务高峰时执行备份可能会备份失败,建议手动备份选择在业务低峰期间,自动备份建议根据业务需要自定义备份时间段(默认自动备份时间段为01:00-02:00 (GMT+08:00))。 实例写入业务较多时,建议备份策略设置成每天做一次自动备份。 建议根据业务需要设置备份保留天数(默认保留7天)。 删除实例后,自动备份的全量备份和Binlog备份也会删除,对数据有需要时,建议删除前进行手动全量备份。 建议自定义回收站策略,防止误删实例无法恢复。
  • 相关参数说明 对于和CPU相关的参数(即参数值与CPU变动有关,内存变动时不会影响取值):threadpool_size、slave_parallel_workers,参考如下表格规则重置参数值: 表3 CPU变更场景下重置参数值 场景 参数值无修改 参数值有修改 升配(CPU升高) 重置为新规格的默认值 在修改值与新规格默认值之间优先取较大的值,即Max(default,custom) 降配(CPU降低) 重置为新规格的默认值 在修改值与新规格默认值之间优先取较小的值,即Min(default,custom) 对于和内存相关的参数(即参数值与内存变动有关,CPU变动时不会影响取值):innodb_buffer_pool_size、innodb_log_buffer_size、innodb_log_files_in_group、max_connections、innodb_page_cleaners、innodb_buffer_pool_instances和back_log,参考如下表格规则重置参数值: 表4 内存变更场景下重置参数值 场景 参数值无修改 参数值有修改 升配(内存升高) 重置为新规格的默认值 在修改值与新规格默认值之间优先取较大的值,即Max(default,custom) 降配(内存降低) 重置为新规格的默认值 在修改值与新规格默认值之间优先取较小的值,即Min(default,custom) 以下参数没有修改时,重置为新规格默认值,有修改时保留修改值:innodb_io_capacity、innodb_io_capacity_max。
  • 计费说明 表2 计费说明 计费模式 变更操作 对费用的影响 包年/包月 规格升配 升配后,新规格将在原来已有的时间周期内生效。 您需要按照与原规格的价格差,结合使用周期内的剩余时间,补交差价。 例如:(以下价格仅作示例,实际价格以控制台显示为准) 客户于2023/6/1在华北-北京四购买规格为通用型 2vCPUs 8GB的RDS for MySQL 5.7单机实例,SSD云盘存储,存储空间40GB,购买周期为一个月。此时实例价格为230元/月。 客户在2023/6/15将规格变更为通用型 4vCPUs 8GB,实例价格为400元/月。 升配费用 = 新规格价格 x 剩余周期 - 旧规格价格 x 剩余周期 公式中的剩余周期为每个自然月的剩余天数/对应自然月的最大天数。 本示例中,剩余周期=15(6月份剩余未使用天数)/ 30(6月份最大天数)= 0.5,代入公式可得升配费用 = 400 x 0.5 - 230 x 0.5 = 85元 规格降配 降配后,新规格将在原来已有的时间周期内生效。 RDS按照与原规格的价格差,结合使用周期内的剩余时间,退回差价。 例如:(以下价格仅作示例,实际价格以控制台显示为准) 客户于2023/6/1在华北-北京四购买规格为通用型 2vCPUs 8GB的RDS for MySQL 5.7单机实例,SSD云盘存储,存储空间40GB,购买周期为一个月。此时实例价格为230元/月。 客户在2023/6/15将规格变更为通用型 2vCPUs 4GB,实例价格为196元/月。 退回费用 = 旧规格价格 x 剩余周期 - 新规格价格 x 剩余周期 公式中的剩余周期为每个自然月的剩余天数/对应自然月的最大天数。 本示例中,剩余周期=15(6月份剩余未使用天数)/ 30(6月份最大天数)= 0.5,代入公式可得退回费用 = 230 x 0.5 - 196 x 0.5 = 17元 按需计费 规格升配 变更规格成功后,新规格按小时计费。具体请参见产品价格详情。 规格降配
  • 约束限制 表1 约束限制 阶段 限制说明 变更前 账户余额大于等于0元,才可变更规格。 变更规格会临时占用IP,且变更后不会立即释放(默认12小时后释放)。变更规格前,请确保有未被使用的内网地址(主备实例:2个未被使用的内网地址;单机实例:1个未被使用的内网地址;只读实例:1个未被使用的内网地址),否则变更规格会失败。 以下场景会导致下发规格变更失败: 实例状态为异常、创建失败、磁盘满、创建中。 主备实例复制时延大于300秒,或者主备复制关系异常。 备机重建中。 数据库代理实例状态异常或在变更状态中。 实例存在定时规格变更任务。 变更中 变更过程中若存在大事务,可能导致变更失败。 变更过程中存在持有全局读锁的会话,会导致变更失败。 当实例进行CPU/内存规格变更时,该实例不可被删除。 当实例进行CPU/内存规格变更时,不能对该实例做如下操作:重启数据库、扩容磁盘、修改参数组、创建手动备份、创建数据库账号、创建数据库等。 本地盘规格变更时,变更后的目标规格的存储上限不能小于当前实例的存储容量。 只读实例规格变更期间主实例Binlog清理关闭,请注意磁盘空间使用情况。 变更后 规格变更后,部分参数会自动更新为新规格的默认值,详见相关参数说明。
  • 变更时长及对业务的影响 变更规格会导致业务中断,导致约10~120秒的服务不可用,请确保您的应用有自动重连机制。请在业务低峰期变更规格,在业务高峰期执行会导致变更时长变长。 关于变更规格所需的时间(非业务高峰期): 对于云盘存储类型的实例,此过程需要5~15分钟。 对于本地盘存储类型的实例,需要通过备份恢复到新本地盘机器的方式进行规格变更,花费的总体时间与数据量相关。 超过变更时长,请及时联系华为云客服。 选择可维护时间段变更规格,提交后在定时任务中可选择立即切换(如果界面没有立即切换,请联系客服申请),关于变更规格所需的时间:业务高峰期时,可能存在复制时延高的情况,切换所需时间可能会较长。
  • 指定时间点回放 在只读实例“概览”页面,暂停wal日志回放。 图2 暂停回放 打开回放开关,选择“回放至指定时间”,表示回放到指定时间点后暂停回放。 图3 回放至指定时间 选择“自动回放”,表示恢复至正常回放状态,只读会连续回放接收到的wal日志。 选择“可回放时间范围”内的某个时间点,单击“确定”,设置回放目标时间点。 只读将回放wal日志到离目标时间点最近且在目标时间点之前的事务提交点。 单击“重启实例”,开始恢复到设置的时间点。 图4 重启实例 查看回放状态。 图5 回放中 图6 回放完成 指定时间点回放结束后,需要重置回放时间并重启实例,才能恢复正常回放。 单击“重置回放时间”,在弹框中,单击“确定”。 重启实例后仍会存在延迟回放,延迟时间取决于参数“recovery_min_apply_delay”的取值。如果想立刻回放到指定时间,需要将该参数设置为0。 图7 重置回放时间 单击“重启实例”。 图8 重启实例 查看回放状态恢复正常。 图9 恢复正常回放
  • 约束限制 如果您需要使用该功能,请联系客服提交开启配置只读延迟库的申请。 支持RDS for PostgreSQL 12及以上版本的只读实例。 在配置“指定时间点回放”功能后,由于PostgreSQL数据库原理会导致主机与只读实例复制中断,期间若主实例wal日志轮转,会造成只读实例脱节(主实例数据无法同步到只读实例)。脱节后若用户需要恢复,需要先“重置回放时间”,然后联系客服进行只读实例恢复操作(恢复时间与实例数据大小及主实例资源使用情况有关)。
  • 注意事项 如果您提供的密码被系统视为弱密码,您将收到错误提示,请提供更高强度的密码。 当您修改数据库主实例的密码时,如果该实例中存在备实例或只读实例,则会被同步修改。 重置密码生效时间取决于该主实例当前执行的业务数据量。 请定期(如三个月或六个月)修改用户密码,以提高系统安全性,防止出现密码被暴力破解等安全风险。 RDS for SQL Server实例的管理员密码重置的同时,该账号的权限将会进行重新补全。
共100000条