

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Aurora MySQL 数据库引擎更新 2023-10-25（版本 3.05.0）（已弃用）
<a name="AuroraMySQL.Updates.3050"></a><a name="3.05.0"></a><a name="3.05.0"></a>

 **版本：**3.05.0 

 Aurora MySQL 3.05.0 已正式发布。Aurora MySQL 3.05 版本与 MySQL 8.0.32 兼容。有关已发生的社群变更的更多信息，请参阅 [MySQL 8.0 Release Notes](https://dev.mysql.com/doc/relnotes/mysql/8.0/en/)。

 有关 Aurora MySQL 版本 3 中的新功能的详细信息，请参阅[与 MySQL 8.0 兼容的 Aurora MySQL 版本 3](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.MySQL80.html)。有关 Aurora MySQL 版本 3 和 Aurora MySQL 版本 2 之间的区别，请参阅[比较 Aurora MySQL 版本 2 和 Aurora MySQL 版本 3](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Compare-v2-v3.html)。有关 Aurora MySQL 版本 3 和 MySQL 8.0 社群版的比较，请参阅[比较 Aurora MySQL 版本 3 和 MySQL 8.0 社群版](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Compare-80-v3.html)。

 当前支持的 Aurora MySQL 版本有 2.07.9、2.07.10、2.11.\$1、2.12.\$1、3.03.\$1、3.04.\$1 和 3.05.\$1。

您可以使用 [Amazon RDS Blue/Green 部署](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/blue-green-deployments-overview.html)执行就地升级、还原快照或启动托管 blue/green 升级，从当前支持的任何 Aurora MySQL 版本 2 集群升级到 Aurora MySQL 版本 3.05.0 集群。

 有关计划升级到 Aurora MySQL 版本 3 的信息，请参阅《Amazon Aurora 用户指南》**中的 [Aurora MySQL 版本 3 的升级计划](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.mysql80-upgrade-procedure.html#AuroraMySQL.mysql80-planning)。有关 Aurora MySQL 升级的一般信息，请参阅《Amazon Aurora 用户指南》**中的[升级 Amazon Aurora MySQL 数据库集群](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Updates.Upgrading.html)。

有关问题排查信息，请参阅[排查 Aurora MySQL 版本 3 升级问题](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.mysql80-upgrade-procedure.html#AuroraMySQL.mysql80-upgrade-troubleshooting)。

 如果您有任何疑问或疑虑，可以在社区论坛和 AWS 支持部门获得[AWS 支持](https://aws.amazon.com/support)。有关更多信息，请参阅《Amazon Aurora 用户指南》**中的[维护 Amazon Aurora 数据库集群](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html)。

## 改进
<a name="AuroraMySQL.Updates.3050.Improvements"></a>

 **新功能：**
+ 增加了对将数据从 Aurora MySQL 数据库集群保存到 Amazon S3 存储桶中使用 KMS 密钥加密（SSE-KMS）的文本文件的支持。有关更多信息，请参阅[将数据从 Amazon Aurora MySQL 数据库集群保存到 Amazon S3 存储桶中的文本文件](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.SaveIntoS3.html)。
+ 引入了新的全局状态变量 `aurora_tmz_version` 来表示引擎使用的时区（TZ）信息的当前版本。这些值遵循IANA时区数据库版本，格式为 YYYYsuffix “”，例如，2022a和2023c。有关更多信息，请参阅 [Aurora MySQL 全局状态变量](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Reference.ParameterGroups.html#AuroraMySQL.Reference.GlobalStatusVars)。

**修复了安全问题，并在下面 CVEs 列出：**

对托管环境中的处理进行微调的修复和其他增强功能。其他 CVE 修复如下：
+ [CVE-2022-37434](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-37434)

 **可用性改进：**
+ 修复了使用并行查询的 Aurora MySQL 数据库实例在运行大量并发并行查询时可能会遇到数据库重启的问题。
+  修复了由审计日志记录线程导致的锁争用问题，该问题最终会导致 CPU 使用率过高和客户端应用程序超时。
+ 修复了当任何二进制日志源将 `gtid_mode` 设置为 `ON` 或 `ON_PERMISSIVE` 时，在启用了增强型二进制日志的二进制日志（binlog）副本集群上可能导致已执行的 GTID 集无法正确恢复的问题。此问题可能会导致副本集群的写入器实例在恢复期间多重启一次，或者在查询已执行的 GTID 集时导致结果不正确。
+ 修复了启用增强型二进制日志后，由于可用内存减少而可能导致 Aurora MySQL 数据库实例重启或失效转移的内存管理问题。
+ 修复了在尝试读取属于已删除表的数据库页面时可能导致数据库实例重启的问题。
+ 修复了当写入器实例将数据库卷增大为 160 GB 的倍数时，可能会导致读取器实例重启的问题。
+ 修复了启用了增强型二进制日志功能的 Aurora MySQL 数据库实例在执行二进制日志恢复过程时可能在数据库实例启动期间卡住的问题。
+ 修复了在初始化大型回滚段时，Aurora MySQL 数据库实例在实例启动期间可能会经历多次重启的问题。
+ 修复了零停机时间修补期间的一个问题，该问题会导致实例重启，从而导致数据库连接意外关闭。
+ 修复了在同时运行 [SHOW STATUS](https://dev.mysql.com/doc/refman/8.0/en/show-status.html) 和 [PURGE BINARY LOGS](https://dev.mysql.com/doc/refman/8.0/en/purge-binary-logs.html) 语句时，由于死锁而可能导致数据库实例重启的问题。PURGE BINARY LOGS 是一种托管语句，执行该语句是为了遵守用户配置的二进制日志保留期。
+ 修复了当数据库在内部系统表上创建或删除触发器时，如果写入器实例重启，则可能导致数据库集群不可用的问题。
+ 修复了在具有 Aurora 副本的集群上使用增强型二进制日志功能时，由于长时间等待信号灯而可能导致数据库实例重启的问题。
+ 修复了在执行引用聚合函数的查询时可能导致数据库实例重启的问题。
+ 修复了在极少数情况下，Aurora Serverless v2 错误地尝试在扩展时更新表缓存，而可能导致数据库实例重启的问题。
+ 修复了在实现中间临时表时考虑公用表表达式（CTE）不支持的索引扫描访问方法的问题，这可能会导致不良行为，包括数据库重启或查询结果不正确。我们通过避免使用 TempTable 存储引擎对表使用此类不支持的索引扫描访问方法来修复此问题。

 **常规改进：**
+ 修复了在 Aurora MySQL 3.04.0 上运行的 Aurora Serverless v2 数据库集群上启用增强型二进制日志时，可能导致数据库不可用的问题。
+ 现在，在启用了增强型二进制日志功能时，在写入 Aurora 存储之前会删除未使用的存储元数据。这样可以避免在某些情况下，由于通过网络传输的字节数增加而导致写入延迟增加，从而进一步导致数据库重启或失效转移。
+ 在 `performance_schema` 中添加 `malloc_stats` 和 `malloc_stats_totals` 表后，添加了三个高级系统变量来控制内部内存分配器 Jemalloc 的行为：
  + `aurora_jemalloc_background_thread`.
  + `aurora_jemalloc_dirty_decay_ms`.
  + `aurora_jemalloc_tcache_enabled`.
+ 修复了升级或迁移时未创建 Aurora 特定性能架构表的问题。
+ 添加了一个新的系统变量 `aurora_use_vector_instructions`。启用此参数后，Aurora MySQL 将使用经过优化的矢量处理指令来提高处理 I/O 繁重工作负载的性能。原定设置情况下，该设置在 Aurora MySQL 3.05 及更高版本中设置为 `ON`。有关更多详细信息，请参阅 [Aurora MySQL 配置参数](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Reference.ParameterGroups.html#AuroraMySQL.Reference.Parameters.Instance)。
+ 修复了启用增强型二进制日志时可能导致开启的`NumBinaryLogFiles`指标显示错误结果的问题。 CloudWatch 
+ 向 Amazon SageMaker 发出 [Aurora MySQL Machine Learning](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/mysql-ml.html) 操作的请求超时已从 3 秒延长到 30 秒。这有助于解决这样一个问题，即在使用较大的批处理大小时，客户可能会看到从 Aurora MySQL Machine Learning 向 Amazon SageMaker 发出的请求的重试次数或失败次数增加。
+ 在 performance\$1schema 数据库中添加了对 `malloc_stats` 和 `malloc_stats_totals` 表的支持。
+ 将 `LOAD DATA FROM S3` 命令中的 `FROM` 关键字更新为可选关键字。有关更多信息，请参阅[将数据从 Amazon S3 存储桶中的文本文件加载到 Amazon Aurora MySQL 数据库集群](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.LoadFromS3.html)。
+ 增加了对参数 `innodb_aurora_instant_alter_column_allowed` 的支持，该参数控制 `INSTANT` 算法是否可用于 `ALTER COLUMN` 运算。有关更多信息，请参阅[集群级别的参数](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Reference.ParameterGroups.html#AuroraMySQL.Reference.Parameters.Cluster)。
+ 修复了在启用了写入转发时，可能无法与数据库建立新的客户端连接的问题。
+ 修复了可能导致 `table_open_cache` 数据库参数的修改在数据库实例重启后才生效的问题。
+ 修复了在快照还原、回溯或数据库克隆操作后，可能导致使用降序索引的 `AUTO_INCREMENT` 列出现重复键错误的问题。
+ 修复了一个涉及索引扫描的问题，即在执行 `SELECT` 查询时，如果使用 `GROUP BY` 子句且 `aurora_parallel_query` 参数设置为 `ON`，则可能会返回不准确的结果。
+ 修复了在对 `INFORMATION_SCHEMA INNODB_TABLESPACES` 表执行查询时可能导致可用内存耗尽的问题。
+ 修复了读取器实例无法打开表并显示 ERROR 1146 的问题。在写入器实例上使用 `INPLACE` 算法并执行某些类型的在线数据定义语言（DDL）时，会出现此问题。
+ 修复了一个问题，在内部监控流程错误地提交重复的 Aurora Serverless v2 扩展请求时，可避免在扩展期间重启实例。
+ 修复了连接的二进制日志 (binlog) 使用者使用重复的二进制日志复制服务器时可能导致数据库重启的问题。 IDs
+ 为 Aurora MySQL 管理的二进制日志副本引入了内存[中继日志](https://dev.mysql.com/doc/refman/8.0/en/replica-logs-relaylog.html)缓存。这一改进有助于将二进制日志复制吞吐量提高达 40%。使用单线程二进制日志复制时，或者在启用 [GTID 自动定位](https://dev.mysql.com/doc/refman/8.0/en/replication-gtids-auto-positioning.html)的情况下使用多线程复制时，会自动启用此增强功能。

 **升级和迁移：**
+ 从 MySQL 5.7 升级到 MySQL 8.0 时，如果单个数据库中有大量表，则会导致服务器消耗过多内存。经调查发现，我们在检查表是否可以升级的过程中，预先获取了所有数据字典 `Table` 对象，处理了每个对象并获取其名称，然后对列表执行了[检查版本兼容性](https://dev.mysql.com/doc/refman/8.0/en/check-table.html#check-table-version-compatibility)。在这种情况下，无需事先获取所有对象，这会极大增加内存消耗。为了更正这个问题，在这种情况下，我们现在一次获取一个 `Table` 对象，执行所有必需的检查，获取其名称并释放该对象，然后再继续处理下一个对象。（错误 \$134526001） 
+ 通过在数据库实例上使用所有可用的 v CPUs 并行执行表空间检查，提高了从 Aurora MySQL 版本 2 到版本 3 的主要版本升级的性能。

## 集成了 MySQL 社区版本错误修复
<a name="AuroraMySQL.Updates.3050.Patches"></a>

除以下内容外，此版本还包括 8.0.32 及之前的所有社区错误修复。有关更多信息，请参阅 [Aurora MySQL 3.x 数据库引擎更新和之前的所有 MySQL 错误修复](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/AuroraMySQL.Updates.MySQLBugs.html#AuroraMySQL.Updates.MySQLBugs.v3)。
+  修复了由于后台 TLS 证书轮换可能导致更高 CPU 使用率的问题。（社区错误修复 \$134284186） 