本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Aurora MySQL 数据库引擎更新:2015-10-16(版本 1.2、1.3)(已弃用)
版本:1.2、1.3
此更新包括以下改进:
修复
-
out-of-memory 解决了新锁管理器中存在长时间运行的交易的问题
-
解决了使用非 RDS for MySQL 数据库进行复制时的安全漏洞
-
进行了更新,以确保在出现存储故障的情况下 quorum 写入正确重试
-
进行了更新,以更准确地报告副本滞后
-
已通过减少很多并发事务尝试修改同一行时的争用情况来提高性能
-
已解决通过联接 2 个表创建的视图的查询缓存失效
-
禁用了具有
UNCOMMITTED_READ
隔离的事务的查询缓存
改进
-
提高了热缓存上慢速目录查询的性能
-
提高了字典统计数据中的并发度
-
提高了新的查询缓存资源管理器、范围管理、存储在 Amazon Aurora 智能存储中的文件以及日志记录的批量写入的稳定性
MySQL 错误修复汇总
-
终止 innodb 中的查询会导致该查询最终崩溃并显示断言。(错误 1608883)
-
如果无法为事件调度程序、事件执行或新连接创建新线程,则不会将任何消息写入错误日志。(错误 16865959)
-
如果一个连接更改了其默认数据库,同时另一个连接执行了 SHOW PROCESSLIST,则第二个连接可在尝试显示第一个连接的默认数据库内存时访问无效内存。(错误 11765252)
-
虽然 PURGE BINARY LOGS 设计为不删除正在使用或活动的二进制日志文件,但发生该操作时,不会提供任何通知。(错误 13727933)
-
对于某些语句,在优化程序删除不需要的子查询子句时,可能会导致内存泄漏。(错误 15875919)
-
关闭期间,服务器可能会尝试锁定未初始化的互斥。(错误 16016493)
-
使用 GROUP_CONCAT() 的准备好的语句和已指定多个列的 ORDER BY 子句可能会导致服务器退出。(错误 16075310)
-
副本工作线程缺少性能架构检测。(错误 16083949)
-
STOP SLAVE
与诸如 SHOW STATUS(检索Slave_retried_transactions
、Slave_heartbeat_period
、Slave_received_heartbeats
、Slave_last_heartbeat
和Slave_running
中的一个或多个状态变量的值)之类的语句同时发出时,可能会导致死锁。(错误 16088188) -
在搜索词为用引号引起来的短语的某些情况下,使用布尔值模式的全文查询可能会返回零个结果。(错误 16206253)
-
在尝试在子查询中的联接的 ON 子句中使用子查询执行准备好的语句时,优化程序尝试删除引发断言的冗余子查询子句。(错误 16318585)
-
GROUP_CONCAT 不稳定,在 ITEM_SUM::CLEAN_UP_AFTER_REMOVAL 中发生崩溃。(错误 16347450)
-
尝试通过创建具有与 INFORMATION_SCHEMA.INNODB_FT_DEFAULT_STOPWORD 相同的结构的 InnoDB 表来替换默认 InnoDB 全文搜索 (FTS) 非索引字列表将生成错误。(错误 16373868)
-
在工作线程上的客户端线程执行 FLUSH TABLES WITH READ LOCK 并接着在主实例上进行一些更新后,工作线程在执行
SHOW SLAVE STATUS
时挂起。(错误 16387720) -
在全文搜索中分析分隔的搜索字符串 (如“abc-def”) 时,InnoDB 现在会使用与 MyISAM 相同的单词分隔符。(错误 16419661)
-
FTS_AST_TERM_SET_WILDCARD 中发生崩溃。(错误 16429306)
-
针对 FTS RQG 测试的 FTS_AST_VISIT() 中的 SEGFAULT。(错误 16435855)
-
在优化程序删除指向子查询的 Item_ref 后,调试版本会导致服务器退出。(错误 16509874)
-
InnoDB 表上的全文搜索无法搜索组合了 + 或 - 运算符的文字短语。(错误 16516193)
-
START SLAVE
服务器启动时失败,选项为--master-info-repository =TABLE relay-log-info-repository =TABLE,自动提交设置为 0。--skip-slave-start
(错误 16533802) -
非常大的 InnoDB 全文搜索 (FTS) 结果可能会占用大量内存。(错误 16625973)
-
在调试版本中,由于二进制数据可能包含 NULL 字节和其他无意义的字符,因此当直接在搜索字符串中使用二进制数据时,OPT_CHECK_ORDER_BY 中可能发生断言。(错误 16766016)
-
对于某些语句,在优化程序删除不需要的子查询子句时,可能会导致内存泄漏。(错误 16807641)
-
通过在工作线程的新连接中发出
STOP SLAVE
来发出 FLUSH TABLES WITH READ LOCK,然后使用原始连接发出SHOW SLAVE STATUS
后,可能会导致锁死。(错误 16856735) -
具有无效分隔符的 GROUP_CONCAT() 可能会导致服务器退出。(错误 16870783)
-
服务器对任何 SHOW STATUS LIKE“模式”语句的 LOCK_active_mi 和 active_mi->rli->data_lock 互斥对象执行了过度锁定,甚至在该模式不匹配使用这些互斥对象的状态变量(
Slave_heartbeat_period
、Slave_last_heartbeat
、Slave_received_heartbeats
、Slave_retried_transactions
、Slave_running
)的情况下也是如此。(错误 16904035) -
使用 IN BOOLEAN MODE 修饰符的全文搜索将导致断言失败。(错误 16927092)
-
InnoDB 表上的全文搜索无法执行使用 + 布尔值运算符的搜索。(错误 17280122)
-
4 向锁死:zombie、清除二进制日志、显示 processlist、显示二进制日志。(错误 17283409)
-
当等待提交锁定的 SQL 线程终止并重新启动时,导致在工作线程上跳过事务。(错误 17450876)
-
InnoDB 全文搜索失败可能是由于“unended”令牌导致的。应传递字符串和字符串长度以进行字符串比较。(错误 17659310)
-
在 MySQL 5.6 或 5.7 中使用大量已分区的 InnoDB 表可能比在 MySQL Server 的先前版本中使用相同的表所占用的内存更多。(错误 17780517)
-
对于全文查询,未能检查出 num_token 少于 max_proximity_item 可能会导致断言。(错误 18233051)
-
当存在大量空 InnoDB 表时,INFORMATION_SCHEMA TABLES 和 COLUMNS 表的特定查询可能会导致内存使用过度。(错误 18592390)
-
当提交事务时,标记现在用于检查是否创建了线程,而不是使用更多资源来检查线程本身 (尤其是在 master_info_repository=TABLE 的情况下运行服务器时)。(错误 18684222)
-
如果工作线程上的客户端线程在主实例执行 DML 时执行了 FLUSH TABLES WITH READ LOCK,则在同一客户端上执行
SHOW SLAVE STATUS
会受阻,从而导致死锁。(错误 19843808) -
按 GROUP_CONCAT() 结果排序可能导致服务器退出。(错误 19880368)