添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
AWS RDS MySQL 5.7 不会自动强制升级到8.0,但是会在 2024年3月1日强制升级到5.7.44,然后自动启用Extend Support,产生额外费用。具体收费情况,请参考官方文档https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html
2.存在安全风险
在结束生命周期后,社区将不会发布进一步的更新、错误修复或安全补丁,继续使用老版本可能会因为软件存在安全漏洞而影响到数据安全, 可能会造成系统被攻击,数据泄漏等。

Amazon RDS for MySQL 8.0 提供的新功能:

1.多可用区集群

一个写节点两个读节点的架构,使得三个节点都能对外提供服务,提高资源利用率;通过 SSD 存储内部 Log 以及多数节点完成落盘操作即可返回的技术,能够提高性能,减少故障恢复时间。

2.写入优化

利用 Nitro 硬件的优势,一次性将 16KiB 大小的数据页从内存写到数据文件中,避免了 MySQL 的双写机制,提升吞吐量,降低延迟,能够在相同配置环境下提供更高的吞吐量。

3.读取优化

利用实例自带的 SSD 盘进行临时表的存储,能够 加速占用较大临时表空间查询的处理

4.AURORA SERVERLESS V2

适合不确定的业务负载,高峰和低峰流量差别巨大的负载(差别10倍以上)。可实现数分钟内容量缩放不影响业务正常调用。最终获得成本节约。

详细信息参考官方文档:

https://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.html

参数组类型

1、DB Parameter Group(数据库参数组):DB Parameter Group是用于管理单个数据库实例的参数集合。每个数据库实例(如Amazon RDS中的MySQL、PostgreSQL、Oracle或SQL Server实例)都可以关联一个DB Parameter Group。该参数组中包含了用于控制数据库引擎行为和性能的多个参数。您可以创建、修改和应用DB Parameter Group来自定义和配置这些参数。 DB Parameter Group 的更改将立即应用于关联的数据库实例。

2、DB Cluster Parameter Group(数据库集群参数组):DB Cluster Parameter Group是用于管理数据库集群(如Amazon Aurora)的参数集合。数据库集群由多个数据库实例组成,这些实例共享相同的参数组。与DB Parameter Group不同,DB Cluster Parameter Group中的参数适用于整个数据库集群,而不仅仅是单个实例。 DB Cluster Parameter Group的更改将在数据库集群中的所有实例上生效。

条件二:选择升级方法

1.原地升级

原地升级。直接在数据库上点击,更改成新的 8.0 版本。 操作简单,可能停机时间稍长 。此外,为保证能够成功回溯,建议在升级以前先打个快照。一旦升级过程中出现问题,可以将快照恢复到一个新的数据库,将生产环境指向新库,以防对生产环境影响时间过长。

2.蓝绿切换自动升级

蓝绿部署自动化升级。利用 Amazon 提供的蓝绿部署升级工具,创建对应生产环境的绿集群,监控复制延迟,然后点击 switchover 进行升级。自动化蓝绿部署工具会自动切换 endpoint 信息,所以您无需更改应用程序指向集群链接。 操作简单,停机时间很短,但蓝绿部署会按量收费 。详细信息参考官方文档:https://aws.amazon.com/cn/quickstart/architecture/blue-green-deployment/

3.只读副本切换升级

创建 RDS 的一个只读副本,将只读副本升级成目标版本 8.0,等待复制延迟较低时,将只读副本 promote 成单独集群,再更改应用程序指向新的集群。 操作简单,停机时间较短

升级方法对比

蓝绿部署需要集群参数组启用 binlog。该功能涉及使用二进制日志进行复制,因此必须启用二进制日志输出。由于 binlog_format 包含在集群的参数组设置中,因此您需要将该设置设置为 MIXED。如果不这样做,就会出现如下错误。

Blue Green Deployments requires cluster parameter group has binlog enabled.

切换完成后,原“绿”库变为了现在的主库(蓝库)并保留了原主库的 endpoint 地址,之前的“蓝”库被重命名为“old1”。

根据您的业务情况观察一段时间,确认正常运行后,可以尝试删除old库以节约资源和成本

方案三:只读副本切换升级

只读副本进行升级的方式核心: 通过提升原只读副本为主库的方式来实现快速切换,减少数据库升级的影响。 (若没有只读副本可以创建一个)

升级只读副本

原地升级 的升级过程相同,在数据库控制台点击修改按钮,选择8版本,选择参数组,然后升级。

提升只读数据库为主库

1.https://aws.amazon.com/cn/blogs/china/amazon-rds-for-mysql-5-7-to-8-0-upgrade-solution/

2.https://blog.bitipcman.com/rds-mysql-57-to-8-major-version-upgrade/
3.https://tech.connehito.com/entry/2023/01/10/181131
4.https://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/blue-green-deployments-creating.html
5.https://aws.amazon.com/cn/blogs/china/amazon-rds-for-mysql-5-7-to-8-0-upgrade-guide/
6.https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html