Aurora MySQL 数据库引擎更新 2024-11-18(版本 3.08.0,兼容 MySQL 8.0.39) - Amazon Aurora
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Aurora MySQL 数据库引擎更新 2024-11-18(版本 3.08.0,兼容 MySQL 8.0.39)

版本:3.08.0

Aurora MySQL 3.08.0 现已正式上市。Aurora MySQL 3.08 版本与 MySQL 8.0.39 兼容。有关已发生的社群变更的更多信息,请参阅 MySQL 8.0 Release Notes

有关 Aurora MySQL 版本 3 中的新功能的详细信息,请参阅与 MySQL 8.0 兼容的 Aurora MySQL 版本 3。有关 Aurora MySQL 版本 3 和 Aurora MySQL 版本 2 之间的区别,请参阅比较 Aurora MySQL 版本 2 和 Aurora MySQL 版本 3。有关 Aurora MySQL 版本 3 和 MySQL 8.0 社区版的比较,请参阅亚马逊 Aurora 用户指南中的 Aurora MySQL 版本 3 和 MySQL 8.0 社区版的比较。

目前支持的 Aurora MySQL 版本有 2.11.*、2.12.*、3.04.*、3.05.*、3.06.*、3.07.* 和 3.08.*。

您可以使用 A mazon RDS 蓝/绿部署执行就地升级、还原快照或启动托管蓝/绿升级,从当前支持的 Aurora MySQL 版本 2 集群升级到 Aurora MySQL 3.08.0 版集群。

有关计划升级到 Aurora MySQL 版本 3 的信息,请参阅规划 Aurora MySQL 集群的主要版本升级。有关 Aurora MySQL 升级的一般信息,请参阅《Amazon Aurora 用户指南》中的升级 Amazon Aurora MySQL 数据库集群

有关疑难解答信息,请参阅 A mazon Aurora 用户指南中的 Aurora MySQL 就地升级疑难解答。

如果您有任何疑问或疑虑,可以在社区论坛和 Amazon 支持部门获得Amazon 支持。有关更多信息,请参阅《Amazon Aurora 用户指南》中的维护 Amazon Aurora 数据库集群

新特征

改进

修复了安全问题,并且 CVEs:

  • 为二进制日志 (binlog) 复制引入了一个新用户,rdsrepladmin_priv_checks_user。有关更多信息,请参阅 Amazon Aurora 用户指南中的权限检查用户是否进行二进制日志复制

  • 修复了 A urora MySQL 存储过程的输入参数可能无法正确处理的问题。

此版本包括 MySQL 8.0.39 之前的所有社区 CVE 修复。包括以下 CVE 修复程序:

可用性改进:

  • 修复了一个缺陷,该缺陷可能导致服务器在已立即删除列的表上运行数据操纵语言 (DML) 命令后意外重启,从而导致已删除和未删除的列数大于 1017。

  • 修复了可能导致数据库日志文件无法正确轮换,从而导致数据库实例的本地存储空间使用量增加的问题。

  • 修复了在启用 aurora_oom_ response 时可能导致数据库实例在内存不足的情况下停止关闭连接的问题,从而导致本来可以避免的 out-of-memory重启。

  • 修复了在释放用于日志应用程序的内存时可能导致读取器数据库实例重新启动的问题。

  • 修复了计算全文搜索 (FTS) 索引的内部指标时可能导致数据库重启的问题。

  • 修复了在子查询中使用子LIMIT句和索引条件下推时,有时会产生不正确的查询结果的社区问题。

  • 修复了导致内存访问冲突导致释放不再由线程拥有的互斥对象的问题。

  • 修复了在中继日志恢复期间处理大量中继日志文件时可能导致二进制日志 (binlog) 副本重启的问题。

  • 修复了在启用写入转发功能时可能导致 Aurora 阅读器数据库实例重启的问题。

  • 修复了包含多个UNION子句的查询可能分配大量内存从而导致数据库实例重启的问题。

  • 修复了在读取器数据库实例上运行并行查询时导致写入器数据库实例重新启动的问题。

  • 修复了由于FLUSH RELAY LOGS运行命令时副本的 I/O 线程遇到死锁而导致副本上的二进制日志复制停滞的问题。

  • 修复了在启用增强型二进制日志的数据库集群上处理大型 GTID 集时导致数据库实例重启的问题。

  • 修复了启用内存中继日志缓存时可能导致二进制日志副本重启的问题。使用单线程二进制日志复制或启用了 GTID 自动定位的多线程复制时,Aurora MySQL 托管的二进制日志副本将启用内存中继日志缓存。

  • 修复了在数据库引擎启动期间应用数据控制语言 (DCL) 语句时可能导致二进制日志副本实例重新启动的问题。

  • 修复了在极少数情况下,读取器数据库实例在对由其写入器数据库实例更新的表运行SELECT查询时会出现死锁而导致重新启动的问题。

  • 修复了可能导致 Aurora 全球数据库读取器实例在写入转发会话处于活动状态时重新启动的问题。

  • 修复了在写入器数据库实例上出现某些罕见事务提交命令时可能导致 Aurora 只读副本重启的问题。

  • 修复了在启用了增强型二进制日志的数据库实例上运行时取消计划事件时可能导致数据库重新启动的问题。

常规改进:

  • 修复了在零停机时间修补 (ZDP) 或零停机时间重启 (ZDR) 期间客户端连接可能卡住的问题。

  • 修复了在极少数情况下,由于处理打开的表失败时可能出现内存管理问题而导致数据库实例重新启动的问题。

  • 修复了在具有主键列和唯一键列的表上执行并发语句时,以及当INSERT语句在不同的行上存在唯一键冲突时,可能会导致 SQL INSERT 语句在某些行上遇到意外AUTO_INCREMENT的主键冲突错误或警告的问题。

  • 性能架构仪器现在memory/sql/sp_head::main_mem_root是受控仪器。因此,分配用于解析和表示存储程序的内存现在会影响每个连接的内存限制。

  • 修复了更新期间无法通过空间索引读行的问题。

  • 修复了导致用户无法禁用本地写入转发的问题。

  • 修复了使用写入转发时SELECT COUNT查询可能返回错误结果的问题。

  • 修复了 ZDP 错误地恢复查询中设置为提示的会话变量时可能导致查询结果不正确的问题。

  • 修复了升级场景中撤消表空间大于阈值 innod b_max_undo_log_size 时自动截断的问题。

  • 修复了在设置为时无法测量提交延迟和提交吞吐innodb_flush_log_at_trx_commit量的问题0

  • 修复了可能导致错误报告 Aurora 副本延迟的问题。

  • 修复了在使用 Aurora 全球数据库时为threads_running变量提供的值不正确的问题。

  • 修复了在使用外键的表上应用复制更改时,启用并行二级索引优化的 Aurora MySQL 二进制日志副本会重启的问题。

  • 修复了在放大或缩小事件期间长时间调整锁定哈希表大小而导致的重启问题。

  • 修复了先前启用增强型二进制日志时,禁用二进制日志记录后可能导致数据库实例重启的问题。

  • 引入了优化,以减少逻辑数据字典恢复过程中存在大量表时的内存使用量。

  • 修复了在已配置二进制日志复制的情况下,用户在二进制日志副本上运行 mys ql.rds_set_external_sou rce 存储过程时可能会遇到ERROR 1377 (HY000): Fatal error during log purge错误的问题。

  • 修复了在 ZDR 之后无法保留用户角色权限的缺陷。

  • 修复了与视图定义器的默认角色相关的内存问题。

  • 修复了可能导致数据库实例在运行时SHOW VOLUME STATUS重启的问题。

  • 修复了在扩容或缩小事件期间缓冲池大小调整时间过长而导致的重启问题。

  • 修复了在缩小事件期间由于缓冲区大小调整而导致逻辑提前读取 (LRA) 访问已释放页面而导致的重启问题。

  • 修复了当SELECT查询与使用物化作为策略的半联接转换LEFT OUTER JOIN一起使用时,查询返回错误结果的问题。

  • 修复了可能导致无法完成禁用写入转发过程的问题。

  • 修复了ActiveTransactionsBlockedTransactions CloudWatch 指标报告的值低于预期值的问题。

  • 修复了副本处理从父表和子表中显式删除的多表DELETE语句时,二进制日志复制中断的问题。

  • 修复了使用返回enum类型的用户定义函数处理触发器时可能导致数据库实例重启的问题。

  • 修复了使用binlog_format设置为进行复制时,该DMLLatency CloudWatch 指标会为二进制日志副本实例显示错误值的问题。row

  • 修复了 MySQL 事件调度器运行的慢速INSERTUPDATE查询和查询不会记录在慢速查询日志中的问题,除非之前有慢速SELECT查询。DELETE

  • 修复了在极少数情况下导致 Aurora 只读副本间歇性不可用或副本上的表定义不一致(有时会出现错误Table does not exist)的问题。这是由于副本上的并行读取查询以及写入器数据库实例上的数据定义语言 (DDL) 操作。

  • 修复了导致该SHOW BINARY LOGS命令需要更长时间才能在启用或之前启用增强型二进制日志的数据库集群上运行的问题。如果同时运行多个SHOW BINARY LOGS命令,此问题还可能导致提交延迟增加。

升级和迁移:

  • 对于具有大量数据库对象(例如表、触发器和例程)的数据库集群,提高了从 Aurora MySQL 版本 2 升级到版本 3 的主版本的性能。

    对于较大的数据库实例类,数据库升级过程使用多个线程将传统的 MySQL 对象元数据并行升级到新的原子 MySQL 8.0 数据字典。

  • 修复了目标 Aurora MySQL 数据库引擎版本为 3.04.0 或更高版本时导致升级或迁移失败的问题。当lower_case_table_names数据库集群参数设置为1,且 MySQL 数据库排序规则与小写表名不兼容时,就会发生这种情况。

集成了 MySQL 社区版本错误修复

除以下内容外,此版本还包括8.0.39之前的所有社区错误修复。有关更多信息,请参阅 Aurora MySQL 3.x 数据库引擎更新和之前的所有 MySQL 错误修复

  • 修复了导致某些同时具有JOINUNION操作的查询的结果集中错误地省略NULL值的问题。(社区错误修复 #114301)