本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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.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 版本还原到 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) 版本。有关更多信息,请参阅《Amazon Aurora 用户指南》中的 Aurora MySQL 长期支持(LTS)版本。
如果您有任何疑问或疑虑,可以在社区论坛和 Amazon 支持部门获得Amazon 支持
改进
安全修复:
对托管环境中的处理进行微调的修复和其他增强功能。
不兼容的更改:
此版本新增了影响 mysqldump
命令行为的权限更改。用户必须具有访问 PROCESS
表的 INFORMATION_SCHEMA.FILES
权限。要在不进行任何更改的情况下运行 mysqldump
命令,请向 PROCESS
命令连接的数据库用户授予 mysqldump
权限。您也可以运行带 mysqldump
选项的 --no-tablespaces
命令。使用该选项,mysqldump
输出不包含任何 CREATE LOGFILE GROUP
或 CREATE 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 线程完成值的更新之前自动删除中继日志文件并写入减少的值。然后,输入/输出线程写入其原始大小计算,从而忽略了 SQL 线程的更新,将删除文件的空间添加回来。Relay_Log_Space 值现已在更新期间被锁定,以防止并发更新,确保计算准确。(错误 #26997096,错误 #87832) -
对于 VALUES 列表使用包含联接的子查询为第二行或后面的行生成值的 INSERT
语句,服务器可能会在解析所需的特权失败后退出。(错误 #23762382) -
对于 TIMESTAMP
或 DATETIME 列默认值为 CURRENT_TIMESTAMP 的表,列可以在表具有 BEFORE INSERT
触发条件时初始化为0000-00-00 00:00:00
。(错误 #25209512、错误 #84077) -
服务器退出可能是由于多个线程同时尝试注册和取消注册元数据性能架构对象造成的。(错误 #26502135)
-
执行包含从某些 SELECT
语句的内容创建表的语句的存储过程可能会导致内存泄漏。(错误 #25586773) -
执行包含访问视图的查询的存储过程可能会分配直到会话结束才释放的内存。(错误 #25053286)
-
某些情况下的子查询具体化可能会导致服务器退出。这些查询现在会产生建议禁止具体化的错误。(错误 #26402045)
-
在使用联接缓冲(例如,使用块嵌套循环算法)的情况下,带有许多左联接的查询会很慢。(错误 #18898433、错误 #72854)
-
在对第二列执行带有
LIKE
子句的内部联接时,优化程序跳过了复合索引中的第二列。(错误 #28086754)
与 Aurora MySQL 版本 1 进行比较
以下 Amazon Aurora MySQL 功能在 Aurora MySQL 版本 1(兼容 MySQL 5.6)中受支持,但这些功能目前在 Aurora MySQL 版本 2(兼容 MySQL 5.7)中不受支持。
-
异步键预取 (AKP)。有关更多信息,请参阅《Amazon Aurora 用户指南》中的使用异步键预取优化 Aurora 索引的联接查询。
-
哈希联接。有关更多信息,请参阅《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 语句