Amazon Relational Database Service
用户指南 (API Version 2014-10-31)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

2017-05-15 版数据库引擎更新

Version:1.13

注意

我们在首次发布后在 Amazon Aurora 1.13 版中启用了一项新功能 - SELECT INTO OUTFILE S3,并更新了发行说明来反映该更改。

Amazon Aurora 1.13 已正式发布。将在 Aurora v1.13 中创建所有新的数据库群集 (包括从快照还原的群集)。您可以选择将现有数据库群集升级到 Aurora v1.13,但并非必须这样做。借助 1.13 版的 Aurora,我们使用群集修补模式,在此模式中,将同时修补 Aurora 数据库群集中的所有节点。我们支持零停机时间修补,这将通过修补过程尽力保留客户端连接。有关更多信息,请参阅 Amazon RDS 维护

零停机时间修补

零停机时间修补 (ZDP) 尝试在引擎修补期间尽力保留客户端连接。如果已成功执行 ZDP,则应用程序会话将保留,并且数据库引擎将在修补时重新启动。数据库引擎重新启动会导致吞吐量瞬时下降 (5 秒左右)。

在以下条件下,ZDP 将无法成功执行:

  • 正在进行长时间运行的查询

  • 存在长时间运行的未完成事务

  • 二进制日志记录已启用

  • 正在运行二进制日志复制

  • 存在待处理的参数更改

  • 正在使用临时表

  • 正在使用表锁定

  • 存在打开的 SSL 连接

如果因以下一个或多个条件导致没有适合执行 ZDP 的时间范围,则修补将恢复为标准行为。

注意

ZDP 仅适用于数据库群集的主实例。ZDP 不适用于 Aurora 副本。

新功能:

改进:

  • 在引擎启动时对 CSV 格式的日志文件进行截断以避免较长的恢复时间。现在,general_log_backupgeneral_logslow_log_backupslow_log 表在数据库重新启动后不会保留。

  • 修复了名为 test 的数据库无法迁移的问题。

  • 通过重用正确的锁定段提高了锁定管理器的垃圾收集器的稳定性。

  • 通过删除死锁检测算法中的无效断言提高了锁定管理器的稳定性。

  • 已重新启用异步复制,并且修复了导致在无负载或只读工作负载下报告错误的副本滞后的相关问题。版本 1.10 中引入了复制管道改进。已引入这些改进以便对 Aurora 副本的缓冲区缓存应用日志流更新。这有助于提高 Aurora 副本的读取性能和稳定性。

  • 修复了 autocommit=OFF 导致在服务器重新启动之前,计划事件被阻止以及长时间运行的事务保持打开状态的问题。

  • 修复了一般日志、审计日志和慢速查询日志无法记录由异步提交处理的查询的问题。

  • 将逻辑预读 (LRA) 功能的性能提高了最多 2.5 倍。通过允许预提取在 B 树中的中间页面之间继续来做到这一点。

  • 增加了面向审计变量的参数验证 (用于去除不必要的空格)。

  • 修复了 Aurora 版本 1.11 中引入的回归,其中,在使用 SQL_CALC_FOUND_ROWS 选项并调用 FOUND_ROWS() 函数时,查询会返回错误结果。

  • 修复了元数据锁列表的格式错误时出现的稳定性问题。

  • 提高了在将 sql_mode 设置为 PAD_CHAR_TO_FULL_LENGTH 并执行命令 SHOW FUNCTION STATUS WHERE Db='string' 时的稳定性。

  • 修复了因错误的卷一致性检查导致实例在 Aurora 版本升级后无法启动的少数情况。

  • 修复了 Aurora 版本 1.12 中出现的性能问题,其中,当用户拥有大量表时,Aurora 写入器的性能将降低。

  • 改善了当 Aurora 写入器配置为二进制日志从属项且连接数接近 16000 时的稳定性情况。

  • 修复了一个极少出现的问题,即在 Aurora 主对象上运行 DDL 期间,连接被阻塞等待元数据锁定时,Aurora 副本会重新启动。

  • 修复了 MANIFEST 作为保留关键字包含并因此干扰名为 MANIFEST 的表和列的创建和操作的问题。

集成 MySQL 错误修复:

  • 对于空的 InnoDB 表,无法使用 ALTER TABLE 语句减小 auto_increment 值 (甚至在该表为空的情况下也是如此)。(错误 #69882)

  • 在对具有全文搜索索引的 InnoDB 表执行 MATCH() ... AGAINST 查询 (该查询使用长字符串作为 AGAINST() 的参数) 会导致出现错误。(错误 #17640261)

  • 将 SQL_CALC_FOUND_ROWS 与 ORDER BY 和 LIMIT 一起处理会产生错误的 FOUND_ROWS() 结果。(错误 #68458、错误 #16383173)

  • 如果外键存在,ALTER TABLE 将不允许更改列的可为 Null 值性。(错误 #77591)