本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Aurora MySQL 数据库引擎更新 2022-01-26(版本 2.10.2)(已弃用)
版本:2.10.2
Aurora MySQL 2.10.2 已正式发布。Aurora MySQL 2.x 版与 MySQL 5.7 兼容,Aurora MySQL 1.x 版与 MySQL 5.6 兼容。
当前支持的 Aurora MySQL 版本有 1.19.5、1.19.6、1.22.*、1.23.*、2.04.*、2.07.*、2.08.*、2.09.*、2.10.*、3.01.* 和 3.02.*。
您可以将现有的 Aurora MySQL 2.* 数据库集群升级到 Aurora MySQL 2.10.0。对于运行 Aurora MySQL 版本 1 的集群,您可以直接将现有 Aurora MySQL 1.23 或更高版本的集群升级到 2.10.0。您也可以将快照从当前支持的任何 Aurora MySQL 版本还原到 Aurora MySQL 2.10.0。
如果您有任何问题或疑问,可通过社区论坛和 Amazon Support
注意
有关如何升级 Aurora MySQL 数据库集群的信息,请参阅《Amazon Aurora 用户指南》中的升级 Aurora MySQL 数据库集群的次要版本或补丁程序级别。
改进
修复了下面列出的安全问题和 CVE:
对托管环境中的处理进行微调的修复和其他增强功能。其他 CVE 修复如下:
常规改进:
-
添加了性能优化,帮助缩短 24XL 实例类中的数据库 IO 延迟。
-
添加了对 ECDHE SSL 密码的支持。有关配置客户端使用这些 SSL 密码的更多信息,请参阅以下 MySQL 文档:加密连接协议密码
-
修复了 Aurora MySQL 与其他 Amazon 服务(例如 Amazon S3、Amazon ML 和 Amazon Lambda)集成的相关安全问题。
-
修复了当数据库具有大约超过 1GB 的用户和权限组合时,可能导致数据库实例重启失败的问题。
-
修复了并行查询的问题,该问题可能导致数据库在使用 GROUP BY 子句和包含范围谓词的 WHERE 子句执行查询时返回错误的分组或排序顺序。
-
修复了在将主要版本从 Aurora MySQL 1.x(与 MySQL 5.6 兼容)就地升级到 Aurora MySQL 2.x(与 MySQL 5.7 兼容)后导致 general_log 和 slow_log 表无法访问的问题。
-
修复了在极少数情况下,当数据库处于繁重工作负载期间查询 innodb_trx、innodb_locks 或 innodb_lockwaits 表时,可能导致数据库实例重新启动的问题。监控工具(例如 Performance Insights)可能会查询此类表格。
-
修复了在满足以下所有条件时将现有行的 TIMESTAMP 列的值更新为最新时间戳的问题:
-
该表存在触发器。
-
在具有 ON DUPLICATE KEY UPDATE 子句的表上执行 INSERT。
-
插入的行会导致 UNIQUE 索引或 PRIMARY KEY 中的重复值冲突。
-
一个或多个列为 TIMESTAMP 数据类型,原定设置值为 CURRENT_TIMESTAMP。
-
-
修复了在极少数情况下,可能阻止二进制日志副本连接到已启用二进制日志的实例的问题。
-
修复了在极少数情况下,在已启用二进制日志的实例上运行时,无法提交事务的问题。
-
修复了无法与已启用二进制日志的实例建立新连接的问题。
-
修复了在尝试零停机时间修补和重新启动导致本地存储填满时,可能导致内部日志记录过多的问题。
-
修复了在复制某些 DDL 和 DCL 语句时导致二进制日志副本停止并出现 HA_ERR_FOUND_DUPP_KEY 错误的问题。当源实例配置了 MIXED 二进制日志记录格式和 READ COMMITTED 或 READ UNCOMMITTED 隔离级别时,会出现此问题。
-
修复了启用多线程复制时二进制日志复制输入/输出线程无法跟上主实例的问题
-
修复了在极少数情况下,与数据库实例的大量活动连接可能导致错误报告 CloudWatch CommitLatency 指标的问题。
-
修复了执行 LOAD FROM S3 或 SELECT INTO S3 时,导致 Graviton 实例上的本地存储空间填满的问题。
-
修复了通过外键查询表且同时满足以下两个条件时,可能导致查询结果错误的问题:
-
已启用查询缓存
-
已回滚对该表进行级联删除或更新的事务
-
-
修复了在极少数情况下可能导致 Aurora 读取器实例重新启动的问题。随着事务回滚次数增加,出现此问题的几率也会增加。
-
修复了打开和关闭会话时,性能架构中出现互斥锁“LOCK_epoch_id_master”的次数增加的问题。
-
修复了当大量事务同时对同一组行进行更新时,可能导致其工作负载出现越来越多的死锁的问题。
-
修复了在极少数情况下当数据库卷增加到 160 GB 的倍数时可能导致实例重新启动的问题。
-
修复了使用 LIMIT 子句执行 SQL 语句时可能导致数据库重新启动的并行查询问题。
-
修复了在极少数情况下,使用具有 READ COMMITTED 隔离级别的 XA 事务时可能导致数据库实例重新启动的问题。
-
修复了 Aurora 读取实例重启后,如果重启期间 DDL 工作负载繁重,实例可能会再次重启的问题。
-
修复了 Aurora 读取器复制滞后报告错误的问题。
-
修复了在极少数情况下会导致在内存中数据完整性检查失败时重新启动写入器实例的问题。
-
修复了在极少数情况下,即使会话已完成处理并处于空闲状态,Performance Insights (PI) 会话中的“数据库负载”图表也会错误显示为实际使用 CPU 的问题。
-
修复了在极少数情况下,使用并行查询处理查询时可能导致数据库服务器重新启动的问题。
-
修复了在极少数情况下,由于全局数据库复制期间出现争用情况,导致全局数据库主集群中的写入器实例重新启动的问题。
-
修复了数据库实例重启期间可能出现的会导致多次重启的问题。
集成了 MySQL 社区版本错误修复
-
修复了 InnoDB 中的一个问题:与表统计数据相关的代码错误导致 dict0stats.cc 源文件出现断言。(错误 #24585978)
-
修复了在线构建索引时,虚拟列上的二级索引损坏的问题。对于 UPDATE
语句,我们按以下方式修复此问题:如果索引记录的虚拟列值设置为 NULL,就从集群索引记录中生成此值。(错误 #30556595) -
修复了 InnoDB 中删除标记行能够在部分回滚完成之前获取外部只读锁定的问题。外部只读锁定阻止了在部分回滚期间将隐式锁转换为显式锁,导致断言失败。(错误 #29195848)
-
修复了账户中的主机名为空时可能导致服务器行为异常的问题。(错误 #28653104)
-
修复了 InnoDB 中锁定等待期间查询中断导致错误的问题。(错误 #28068293)
-
修复了复制中当事务隔离级别设置为 REPEATABLE READ
时,交错事务有时可能会使从属应用程序死锁的问题。(错误 #25040331) -
修复了锁定等待超时导致二进制日志副本停顿的问题。(错误 #27189701)
与 Aurora MySQL 版本 1 进行比较
以下 Amazon Aurora MySQL 功能在 Aurora MySQL 版本 1(兼容 MySQL 5.6)中受支持,但这些功能目前在 Aurora MySQL 版本 2(兼容 MySQL 5.7)中不受支持。
-
哈希联接。有关更多信息,请参阅《Amazon Aurora 用户指南》中的使用哈希联接优化大型 Aurora MySQL 联接查询。
-
用于异步调用 Amazon Lambda 函数的本机函数。有关更多信息,请参阅《Amazon Aurora 用户指南》中的使用 Aurora MySQL 本机函数调用 Lambda 函数。
-
扫描批处理。有关更多信息,请参阅“Aurora MySQL 数据库引擎更新 2017-12-11(版本 1.16)(已弃用)”。
-
使用 Amazon S3 存储桶从 MySQL 中迁移数据。有关更多信息,请参阅《Amazon Aurora 用户指南》中的使用 Amazon S3 存储桶从 MySQL 迁移数据。
MySQL 5.7 兼容性
此 Aurora MySQL 版本与 MySQL 5.7 数据兼容,包含 JSON 支持、空间索引及生成列等功能。Aurora MySQL 使用 Z 阶曲线原生实现了空间索引功能,使空间数据集的写入性能相比于 MySQL 5.7 提高了 20 倍以上,读取性能提高 10 倍以上。
此 Aurora MySQL 版本当前不支持以下 MySQL 5.7 功能:
-
组复制插件
-
增加的页面大小
-
InnoDB 缓冲池启动时加载
-
InnoDB 全文分析器插件
-
多源复制
-
在线缓冲池大小调整
-
密码验证插件
-
查询重写插件
-
复制筛选
-
CREATE TABLESPACE
SQL 语句