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

Aurora MySQL 数据库引擎更新 2020-11-10(版本 2.07.3)

版本:2.07.3

Aurora MySQL 2.07.3 已正式发布。Aurora MySQL 2.* 版与 MySQL 5.7 兼容,Aurora MySQL 1.* 版与 MySQL 5.6 兼容。

当前支持的 Aurora MySQL 版本有 1.14.*、1.15.*、1.16.*、1.17.*、1.18.*、1.19.*、1.20.*、1.21.*、1.22.*、1.23.*、2.01.*、2.02.*、2.03.*、2.04.*、2.05.*、2.06.*、2.07.*、2.08.* 和 2.09.*。

您可以将快照从当前支持的 Aurora MySQL 版本还原到 Aurora MySQL 2.07.3。您也可以选择将现有的 Aurora MySQL 2.* 数据库集群升级到 Aurora MySQL 2.07.3。不能将现有的 Aurora MySQL 1.* 集群直接升级到 2.07.3,但是可以将其快照还原到 Aurora MySQL 2.07.3。

要使用较旧版本的 Aurora MySQL 创建集群,请通过 Amazon Web Services Management Console、Amazon CLI 或 RDS API 指定引擎版本。

注意

此版本被指定为长期支持 (LTS) 版本。有关更多信息,请参阅 Aurora MySQL 长期支持 (LTS) 版本

如果您有任何问题或疑问,可通过社区论坛和 Amazon Premium Support 联系 Amazon Support。有关更多信息,请参阅维护 Amazon Aurora 数据库集群

改进

安全修复:

对托管环境中的处理进行微调的修复和其他增强功能。其他 CVE 修复如下:

不兼容的更改:

此版本新增了影响 mysqldump 命令行为的权限更改。用户必须具有访问 INFORMATION_SCHEMA.FILES 表的 PROCESS 权限。要在不进行任何更改的情况下运行 mysqldump 命令,请向 mysqldump 命令连接的数据库用户授予 PROCESS 权限。您也可以运行带 --no-tablespaces 选项的 mysqldump 命令。使用该选项,mysqldump 输出不包含任何 CREATE LOGFILE GROUPCREATE TABLESPACE 语句。在这种情况下,mysqldump 命令不访问 INFORMATION_SCHEMA.FILES 表,您也无需授予 PROCESS 权限。

可用性改进:

  • 修复了锁定管理器在终止连接/查询和终止会话导致数据库重新启动之间的争用情况。

  • 修复了在启用查询缓存的情况下执行访问多个表或数据库的多查询语句后导致数据库重新启动的问题。

  • 修复了由于更新具有二级索引的虚拟列而可能导致重复重启的问题。

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

  • InnoDB:在主节点上成功运行到 XA 准备阶段的并发 XA 事务在从属节点上重播时会发生冲突,导致应用程序线程中的锁定等待超时。冲突是由于在从属节点上连续重播事务时,GAP 锁定范围会有所不同。为了防止这种类型的冲突,当 XA 事务进入准备阶段时,XA 事务在 READ COMMITTED 隔离级别中采取的 GAP 锁定将被释放(而且不再继承)。(错误 #27189701、错误 #25866046)

  • InnoDB:使用 READ COMMITTED 隔离级别时,在验证外键期间多余地使用了 gap 锁定。(错误 #25082593)

  • 复制:使用 XA 事务时,如果复制从属节点上的应用程序 (SQL) 线程出现锁定等待超时或死锁,则自动重试不起作用。原因是,尽管 SQL 线程会进行回滚,但它不会回滚 XA 事务。这意味着,当重试交易时,第一个事件是 XA START,由于 XA 事务已在进行中,导致 XAER_RMFAIL 错误,该事件无效。(错误 #24764800)

  • 复制:当事务隔离级别设置为 REPEATABLE READ 时,交错事务有时可能会使从属应用程序死锁。(错误 #25040331)

  • 复制:所有现有中继日志文件 (Relay_Log_Space) 的总组合大小的 SHOW SLAVE STATUS 语句返回的值可能会比中继日志文件实际使用的磁盘空间大得多。I/O 线程在更新值时没有锁定变量,因此 SQL 线程可以在 I/O 线程完成值的更新之前自动删除中继日志文件并写入减少的值。然后,I/O 线程写入其原始大小计算,从而忽略了 SQL 线程的更新,将删除文件的空间添加回来。Relay_Log_Space 值现已在更新期间被锁定,以防止并发更新,确保计算准确。(错误 #26997096,错误 #87832)

  • 对于 VALUES 列表使用包含联接的子查询为第二行或后面的行生成值的 INSERT 语句,服务器可能会在解析所需的特权失败后退出。(错误 #23762382)

  • 对于具有 TIMESTAMP 的表或具有默认的 CURRENT_TIMESTAMPDATETIME 列,列可以在表具有 BEFORE INSERT 触发器时初始化为 0000-00-00 00:00:00。(错误 #25209512、错误 #84077)

  • 服务器退出可能是由于多个线程同时尝试注册和取消注册元数据性能架构对象造成的。(错误 #26502135)

  • 执行包含从某些 SELECT 语句的内容创建表的语句的存储过程可能会导致内存泄漏。(错误 #25586773)

  • 执行包含访问视图的查询的存储过程可能会分配直到会话结束才释放的内存。(错误 #25053286)

  • 某些情况下的子查询具体化可能会导致服务器退出。这些查询现在会产生建议禁止具体化的错误。(错误 #26402045)

  • 在使用联接缓冲(例如,使用块嵌套循环算法)的情况下,带有许多左联接的查询会很慢。(错误 #18898433、错误 #72854)

  • 在对第二列执行带有 LIKE 子句的内部联接时,优化程序跳过了复合索引中的第二列。(错误 #28086754)