由 Aurora MySQL 数据库引擎更新修复的 MySQL 错误 - Amazon Aurora
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

由 Aurora MySQL 数据库引擎更新修复的 MySQL 错误

以下部分标识了已由 Aurora MySQL 数据库引擎更新修复的 MySQL 错误。

由 Aurora MySQL 2.x 数据库引擎更新修复的 MySQL 错误

MySQL 5.7 兼容版本 Aurora 包含 MySQL 5.7.12 和之前的所有 MySQL 错误修复。下表列出了 Aurora MySQL 数据库引擎更新修复的其他 MySQL 错误以及修复这些错误的更新。

数据库引擎更新 版本 已修复的 MySQL 错误
Aurora MySQL 数据库引擎更新 2021-05-25(版本 2.10.0)

2.10.0

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

  • 当存储过程包含引用一个视图的语句,而该语句又引用了另一个视图时,该过程不能多次成功调用。(错误 #87858、错误 #26864199)

  • 对于具有多个OR条件的查询,优化器现在的内存效率更高,并且超过 range_timizer_max_mem_size 系统变量规定内存限制的可能性更小。此外,该变量的默认值已从 1,536,000 提高到 8,388,608。(错误 #79450、错误 #22283790)

  • 复制:在由副本的 SQL 线程调用以从中继日志中读取下一个事件的 next_event() 函数中,SQL 线程在遇到错误(例如,由于中继日志关闭)时没有释放获取的 relaylog.log_lock,导致等待从中继日志中获取锁定的所有其他线程挂起。采用此修复方式后,锁定在这种情况下将于 SQL 线程离开函数之前释放。(错误 #21697821)

  • 使用虚拟列修复 ALTER TABLE 内存损坏。(错误 #24961167、错误 #24960450)

  • 复制:如果多线程副本需要处理大于该大小的事务,则无法使用 slave_pending_jobs_size_max 来配置较小的队列大小。任何大于 slave_pending_jobs_size_max 的数据包都会被拒绝并显示错误 ER_MTS_EVENT_BIGGER_PENDING_JOBS_SIZE_MAX,即使该数据包小于 slave_max_allowed_packet 设置的限制。采用此修复方式后,slave_pending_jobs_size_max 将成为软限制而不是硬限制。如果数据包的大小超过了 slave_pending_jobs_size_max 但小于 slave_max_allowed_packet,则该事务将保留直到所有副本工作线程都有空队列为止,然后进行处理。所有后续事务将一直保留到大型事务完成。因此,副本工作线程的队列大小可以受到限制,同时仍允许偶尔执行较大事务。(错误 #21280753、错误 #77406)

  • 复制:使用多线程副本时,应用程序错误显示的工作线程 ID 数据与性能架构副本表中外部化的数据不一致。(错误 #25231367)

  • 复制:对于在 –gtid-mode=ON–log-bin=OFF 模式下使用 –slave-skip-errors 运行的基于 GTID 的复制副本,当遇到应忽略的错误时 Exec_Master_Log_Pos 不会正确更新,导致 Exec_Master_Log_Pos 失去与 Read_master_log_pos 的同步。如果未指定 GTID_NEXT,则从单语句事务回滚时,副本永远不会更新其 GTID 状态。Exec_Master_Log_Pos 不会更新,因为即使事务已完成,其 GTID 状态也会显示为其他状态。此修复消除了只在指定 GTID_NEXT 的情况下回滚事务时才更新 GTID 状态的限制。(错误 #22268777)

  • 复制:禁用二进制日志记录时,部分失败的语句未正确使用自动生成或指定的 GTID。此修复可确保在禁用二进制日志记录时,部分失败的 DROP TABLE、部分失败的 DROP USER 或部分失败的 DROP VIEW 会分别使用相关的 GTID 并将其保存到 @@GLOBAL.GTID_EXECUTEDmysql.gtid_executed 表中。(错误 #21686749)

  • 复制:由于检索不属于 MySQL 5.5 的 server_uuid 时出错,运行 MySQL 5.7 的副本无法连接到 MySQL 5.5 源。这是由于检索 server_uuid 的方法更改造成的。(错误 #22748612)

  • 二进制日志复制:在此修复之前,GTID 事务跳过机制无法正常作用于 XA 事务。服务器有一个机制,如果它在过去已经执行了一个 GTID 事务,就会(静默地)跳过此类事务。(错误 #25041920)

  • 因给出了错误的事务 ID 而失败的 ">XA ROLLBACK 语句可以用正确的事务 ID 记录在二进制日志中,因此可以由复制副本执行操作。现在,在进行二进制日志记录之前会检查错误情况,不会记录失败的 XA ROLLBACK 语句。(错误 #26618925)

  • 复制:如果副本是使用未指定源日志文件名和源日志位置的 CHANGE MASTER TO 语句设置的,则在发出 START SLAVE 之前关闭,然后通过设置为选项 –relay-log-recovery 重新启动,复制没有启动。发生这种情况的原因是,在尝试恢复中继日志之前没有启动接收方线程,因此中继日志中没有可用的日志轮换事件来提供源日志文件名和源日志位置。在这种情况下,现在副本跳过中继日志恢复并记录警告,然后继续开始复制。(错误 #28996606、错误 #93397)

  • 复制:在基于行的复制中,从含有 utf8mb3 列的表复制到使用 utf8mb4 字符集定义该列的具有相同定义的表时,会返回错误显示字段长度的消息。(错误 #25135304、错误 #83918)

  • 复制:当在使用 GTID 的复制副本上发出 RESET SLAVE 语句时,现有的中继日志文件将被清除,但是在清除该通道收到的 GTID 集之前,生成了替换的新中继日志文件。因此,以前的 GTID 集作为 PREVIOUS_GTIDS 事件写入新的中继日志文件,导致复制过程中出现致命错误,指出副本的 GTID 比源多,即使两个服务器的 gtid_executed 集都是空的。现在,当 RESET SLAVE 发出时,收到的 GTID 集将在生成新的中继日志文件之前清除,就不会发生这种情况了。(错误 #27411175)

  • 复制:当 GTID 用于复制时,那些包括导致解析错误 (ER_PARSE_ERROR) 语句的事务,无法通过注入具有相同 GTID 的空事务或替换事务的推荐方法手动跳过。此操作应导致副本将 GTID 识别为已使用,从而跳过共享其 GTID 的不需要的事务。但是,尽管无论如何都要跳过事务,在解析错误的情况下,由于语句在检查 GTID 以查看是否需要跳过之前解析了语句,因此复制应用程序线程由于解析错误而停止。采用此修复方式后,如果因为已经使用了 GTID 而需要跳过相关事务,则复制应用程序线程现在会忽略解析错误。请注意,此行为更改不适用于由 mysqlbinlog 生成的二进制日志输出组成的工作负载。在这种情况下,紧跟着跳过的事务之后出现解析错误的事务也会以无提示的方式跳过,因为该事务应引发错误。(错误 #27638268)

  • 复制:启用 SQL 线程以通过 GTID 跳过部分事务。(错误 #25800025)

  • 复制:WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS() 提供负数或小数超时参数时,服务器出现意外行为。采用此修复方式:

    • 小数超时值按原样读取,没有舍入。

    • 如果服务器处于严格 SQL 模式,则拒绝负超时值并显示错误;如果服务器不处于严格 SQL 模式,则该值会使函数立即返回 NULL 而无需等待,然后发出警告。(错误 #24976304、错误 #83537)

  • 复制:如果 WAIT_FOR_EXECUTED_GTID_SET() 函数与包括小数部分(例如 1.5)的超时值一起使用,则转换逻辑中的错误意味着超时向下舍入到最接近的整秒,对于小于 1 秒的值(例如,0.1),则为零。转换逻辑现已被纠正,以便按照最初指定的方式应用超时值,而不舍入。感谢 Dirkjan Bussink 的贡献。(错误 #29324564、错误 #94247)

  • 启用 GTID 后,多语句事务中断开的 XA 事务上的 XA COMMIT 会引发断言。(错误 #22173903)

  • 复制:如果手动设置 gtid_next 值时为未知的事务标识符发出 XA ROLLBACK 语句,则在调试版本中引发了断言。如果 XA ROLLBACK 语句失败并出现错误,现在服务器不会尝试更新 GTID 状态。(错误 #27928837、错误 #90640)

  • 修复 ORDER BY 子句中使用多个 CASE 函数时排序顺序错误的问题(错误 #22810883)。

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

2.09.1

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

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

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

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

2.08.3

  • 错误 #23762382 - INSERT VALUES QUERY WITH JOIN IN A SELECT CAUSES INCORRECT BEHAVIOR.

  • 错误 #25209512 - CURRENT_TIMESTAMP PRODUCES ZEROS IN TRIGGER.

Aurora MySQL 数据库引擎更新 2020-06-2(版本 2.08.0)

2.08.0

  • 错误 #25289359:如果全文缓存大小超过全文缓存大小限制,则未释放数据同步时执行的全文缓存锁定。

  • 错误 #29138644:在 MySQL 服务器运行时手动更改系统时间引发了页面清理器线程延迟。

  • 错误 #25222337:在填充受外键约束影响的虚拟列时进行字段名称比较期间,虚拟索引中的 NULL 虚拟列字段名称引发了服务器退出。

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

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

  • 错误 #28834208:在日志应用程序期间,在 OPTIMIZE TABLE 操作之后,InnoDB 在检查虚拟列索引更新之前没有填充虚拟列。

  • 错误 #26666274:由于 32 位无符号整数溢出,性能架构缓冲区容器中出现无限循环。

Aurora MySQL 数据库引擎更新 2021-03-04(版本 2.07.4)

2.07.4

  • 修复了在处理包含“ ”(空格)、“%”或“,”的令牌时,全文 ngram 解析器中的问题。如果使用 ngram 解析器,客户应重建其 FTS 索引。(错误 #25873310)

  • 修复了在使用嵌套 SQL 视图执行查询期间可能导致引擎重启的问题。(错误 #27214153、错误 #26864199)

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

2.07.3

  • 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)

Aurora MySQL 数据库引擎更新 2020-04-17(版本 2.07.2)

2.07.2

Aurora MySQL 数据库引擎更新 2019-11-25(版本 2.07.0)

2.07.0

  • 错误 #26251621:INCORRECT BEHAVIOR WITH TRIGGER AND GCOL

  • 错误 #22574695:ASSERTION `!TABLE || (!TABLE->READ_SET || BITMAP_IS_SET(TABLE->READ_SET, FIEL

  • 错误 #25966845:INSERT ON DUPLICATE KEY GENERATE A DEADLOCK

  • 错误 #23070734:CONCURRENT TRUNCATE TABLES CAUSE STALL

  • 错误 #26191879:FOREIGN KEY CASCADES USE EXCESSIVE MEMORY

  • 错误 #20989615:INNODB AUTO_INCREMENT PRODUCES SAME VALUE TWICE

Aurora MySQL 数据库引擎更新 2019-11-11(版本 2.05.0)

2.05.0

  • 错误#23054591:PURGE BINARY LOGS TO 读取整个二进制日志文件并导致 MySql 停滞

Aurora MySQL 数据库引擎更新 2020-08-14(版本 2.04.9)

2.04.9

  • 错误 #23070734、错误 #80060:并发 TRUNCATE TABLE 导致停机

  • 错误 #23103937:PS_TRUNCATE_ALL_TABLES() 在 SUPER_READ_ONLY 模式下无法运行

  • 错误 #22551677:使服务器脱机时,性能架构中的争用条件可能导致服务器退出。

  • 错误 #27082268:无效的 FTS 同步。

  • 错误 #12589870:修复了在启用查询缓存的情况下导致使用多查询语句重新启动的问题。

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

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

  • 错误 #25222337:在填充受外键约束影响的虚拟列的同时比较字段名称的过程中,虚拟索引中的 NULL 虚拟列字段名称引发了服务器退出。(https://github.com/mysql/mysql-server/commit/273d5c9d7072c63b6c47dbef6963d7dc491d5131)

  • 错误 #25053286:执行包含访问视图的查询的存储过程可能会分配直到会话结束才释放的内存。(https://github.com/mysql/mysql-server/commit/d7b37d4d141a95f577916448650c429f0d6e193d)

  • 错误 #25586773:执行包含从某些 SELECT (https://dev.mysql.com/doc/refman/5.7/en/select.html) 语句的内容创建表的语句的存储过程可能会导致内存泄漏。(https://github.com/mysql/mysql-server/commit/88301e5adab65f6750f66af284be410c4369d0c1)

  • 错误 #26666274:性能架构缓冲区容器中的无限循环。

  • 错误 #23550835、错误 #23298025、错误 #81464:当内部缓冲区已满时,对性能架构表执行 SELECT 可能会导致服务器退出。

Aurora MySQL 数据库引擎更新 2019-09-19(版本 2.04.6)

2.04.6

  • 错误#23054591:PURGE BINARY LOGS TO 读取整个二进制日志文件并导致 MySql 停滞

Aurora MySQL 数据库引擎更新 2019-05-02(版本 2.04.2)

2.04.2

错误 #24829050 - INDEX_MERGE_INTERSECTION OPTIMIZATION CAUSES WRONG QUERY RESULTS

Aurora MySQL 数据库引擎更新 2018-10-11

2.03

  • 分区表上的反向扫描执行 ICP - ORDER BY DESC(错误 24929748)。

  • JSON_OBJECT 创建无效的 JSON 代码(错误 26867509)。

  • 插入大型 JSON 数据花费大量时间(错误 22843444)。

  • 分区表在 5.7 中使用的内存比 5.6 多(错误 25080442)。

Aurora MySQL 数据库引擎更新 2018-09-21

2.02.4

  • BUG#13651665 INNODB MAY BE UNABLE TO LOAD TABLE DEFINITION AFTER RENAME

  • BUG#21371070 INNODB: CANNOT ALLOCATE 0 BYTES.

  • BUG#21378944 FTS ASSERT ENC.SRC_ILIST_PTR != NULL, FTS_OPTIMIZE_WORD(), OPTIMIZE TABLE

  • BUG#21508537 ASSERTION FAILURE UT_A(!VICTIM_TRX->READ_ONLY)

  • BUG#21983865 UNEXPECTED DEADLOCK WITH INNODB_AUTOINC_LOCK_MODE=0

  • BUG#22679185 INVALID INNODB FTS DOC ID DURING INSERT

  • BUG#22899305 GCOLS: ASSERTION: !(COL->PRTYPE & 256).

  • BUG#22956469 MEMORY LEAK INTRODUCED IN 5.7.8 IN MEMORY/INNODB/OS0FILE

  • BUG#22996488 CRASH IN FTS_SYNC_INDEX WHEN DOING DDL IN A LOOP

  • BUG#23014521 GCOL:INNODB: ASSERTION: !IS_V

  • BUG#23021168 REPLICATION STOPS AFTER TRX IS ROLLED BACK ASYNC

  • BUG#23052231 ASSERTION: ADD_AUTOINC < DICT_TABLE_GET_N_USER_COLS

  • BUG#23149683 ROTATE INNODB MASTER KEY WITH KEYRING_OKV_CONF_DIR MISSING: SIGSEGV; SIGNAL 11

  • BUG#23762382 INSERT VALUES QUERY WITH JOIN IN A SELECT CAUSES INCORRECT BEHAVIOR

  • BUG#25209512 CURRENT_TIMESTAMP PRODUCES ZEROS IN TRIGGER

  • BUG#26626277 BUG IN "INSERT... ON DUPLICATE KEY UPDATE" QUERY

  • BUG#26734162 INCORRECT BEHAVIOR WITH INSERT OF BLOB + ON DUPLICATE KEY UPDATE

  • BUG#27460607 INCORRECT WHEN INSERT SELECT's SOURCE TABLE IS EMPTY

Aurora MySQL 数据库引擎更新 2018-05-03

2.02.0

左侧联接在外侧返回错误结果 (错误 #22833364)

由 Aurora MySQL 1.x 数据库引擎更新修复的 MySQL 错误

MySQL 5.6 兼容版本 Aurora 包含 MySQL 5.6.10 和之前的所有 MySQL 错误修复。下表列出了 Aurora MySQL 数据库引擎更新修复的其他 MySQL 错误以及修复这些错误的更新。

数据库引擎更新 版本 已修复的 MySQL 错误
Aurora MySQL 数据库引擎更新 2021-03-18(版本 1.23.2) 1.23.2
  • 复制:在执行 SHOW BINLOG EVENTS 语句时,会阻止所有并行事务。此修复确保 SHOW BINLOG EVENTS 进程现在仅在计算文件终止位置期间锁定,因此不会长时间阻止并行交易。(错误 #76618、错误 #20928790)

Aurora MySQL 数据库引擎更新 2020-09-02(版本 1.23.0) 1.23.0
  • 具有 ALTER TABLE ADD COLUMN ALGORITHM=QUICK 的二进制日志事件将被重写为 ALGORITHM=DEFAULT,以便与社区版本兼容。

  • 错误 #22350047:IF CLIENT KILLED AFTER ROLLBACK TO SAVEPOINT PREVIOUS STMTS COMMITTED

  • 错误 #29915479:RUNNING COM_REGISTER_SLAVE WITHOUT COM_BINLOG_DUMP CAN RESULTS IN SERVER EXIT

  • 错误 #30441969:错误 #29723340:MYSQL SERVER CRASH AFTER SQL QUERY WITH DATA ?AST

  • 错误 #30628268:OUT OF MEMORY CRASH

  • 错误 #27081349:UNEXPECTED BEHAVIOUR WHEN DELETE WITH SPATIAL FUNCTION

  • 错误 #27230859:UNEXPECTED BEHAVIOUR WHILE HANDLING INVALID POLYGON"

  • 错误 #27081349:UNEXPECTED BEHAVIOUR WHEN DELETE WITH SPATIAL"

  • 错误 #26935001:ALTER TABLE AUTO_INCREMENT TRIES TO READ INDEX FROM DISCARDED TABLESPACE

  • 错误 #29770705:SERVER CRASHED WHILE EXECUTING SELECT WITH SPECIFIC WHERE CLAUSE

  • 错误 #27659490:SELECT USING DYNAMIC RANGE AND INDEX MERGE USE TOO MUCH MEMORY(OOM)

  • 错误 #24786290:REPLICATION BREAKS AFTER 错误 #74145 HAPPENS IN MASTER

  • 错误 #27703912:EXCESSIVE MEMORY USAGE WITH MANY PREPARE

  • 错误 #20527363:TRUNCATE TEMPORARY TABLE CRASH:!DICT_TF2_FLAG_IS_SET(TABLE, DICT_TF2_TEMPORARY)

  • 错误 #23103937:PS_TRUNCATE_ALL_TABLES() DOES NOT WORK IN SUPER_READ_ONLY MODE

  • 错误 #25053286:USE VIEW WITH CONDITION IN PROCEDURE CAUSES INCORRECT BEHAVIOR (fixed in 5.6.36)

  • 错误 #25586773:INCORRECT BEHAVIOR FOR CREATE TABLE SELECT IN A LOOP IN SP (fixed in 5.6.39)

  • 错误 #27407480:AUTOMATIC_SP_PRIVILEGES REQUIRES NEED THE INSERT PRIVILEGES FOR MYSQL.USER TABLE

  • 错误 #26997096:relay_log_space 值不以同步的方式更新,因此其值有时大大高于中继日志使用的实际磁盘空间。

  • 错误 #15831300 SLAVE_TYPE_CONVERSIONS=ALL_NON_LOSSY 无法按预期工作

  • SSL 错误逆向移植错误 #17087862,错误 #20551271

  • 错误 #16894092:PERFORMANCE REGRESSION IN 5.6.6+ FOR INSERT INTO ...SELECT ...FROM(在 5.6.15 中已修复)。

  • 移植与 SLAVE_TYPE_CONVERSIONS 相关的错误修复。

Aurora MySQL 数据库引擎更新 2020-11-09(版本 1.22.3) 1.22.3
  • 错误 #26654685:检查外键时遇到的损坏索引 ID 引发断言

  • 错误 #15831300:默认情况下,当将整数从主节点上较小的类型提升到从属节点上的较大类型时(例如,从主节点上的 SMALLINT 列到从属节点上的 BIGINT 列)时,提升的值将被视为已经过签名的值。现在,在此情况下,可以使用为 slave_type_conversions 服务器系统变量指定的值集中的 ALL_SIGNEDALL_UNSIGNED 中的一个或两个修改或覆盖此行为。有关详细信息,请参阅基于行的复制:属性升级和降级 以及变量的说明。

  • 错误 #17449901:使用 foreign_key_checks=0,InnoDB 允许删除外键约束所需的索引,将表置于不一致状态,并导致表加载时发生的外键检查失败。InnoDB 现在可以防止删除外键约束所需的索引,即使在 foreign_key_checks=0 的情况下亦是如此。在删除外键索引之前,必须删除外键约束。

  • 错误 #20768847:ALTER TABLE ...DROP INDEX 对具有外键依赖项的表进行的操作会引发断言。

Aurora MySQL 数据库引擎更新 2019-11-25(版本 1.22.0) 1.22.0
  • 错误 #16346241 - SERVER CRASH IN ITEM_PARAM::QUERY_VAL_STR

  • 错误 #17733850 - NAME_CONST() CRASH IN ITEM_NAME_CONST::ITEM_NAME_CONST()

  • 错误 #20989615 - INNODB AUTO_INCREMENT PRODUCES SAME VALUE TWICE

  • 错误 #20181776 - ACCESS CONTROL DOESN'T MATCH MOST SPECIFIC HOST WHEN IT CONTAINS WILDCARD

  • 错误 #27326796 - MYSQL CRASH WITH INNODB ASSERTION FAILURE IN FILE PARS0PARS.CC

  • 错误 #20590013 - IF YOU HAVE A FULLTEXT INDEX AND DROP IT YOU CAN NO LONGER PERFORM ONLINE DDL

Aurora MySQL 数据库引擎更新 2019-11-25(版本 1.21.0) 1.21.0
  • 错误 #19929406:HANDLE_FATAL_SIGNAL (SIG=11) IN __MEMMOVE_SSSE3_BACK FROM STRING::COPY

  • 错误 #17059925:对于 UNION 语句,rows-examined 值计算错误。这表现为 Performance Schema 语句表(例如 events_statements_current)的 ROWS_EXAMINED 列的值太大。

  • 错误 #11827369:一些带有 SELECT ... FROM DUAL 嵌套子查询的查询引发断言。

  • 错误 #16311231:如果一个查询在 IN 子句中包含了子查询,而 WHERE 子句中包含 XOR 操作,则会返回错误的结果。

Aurora MySQL 数据库引擎更新 2019-11-11(版本 1.20.0) 1.20.0
  • 错误 #19929406:HANDLE_FATAL_SIGNAL (SIG=11) IN __MEMMOVE_SSSE3_BACK FROM STRING::COPY

  • 错误 #17059925:对于 UNION 语句,rows-examined 值计算错误。这表现为 Performance Schema 语句表(例如 events_statements_current)的 ROWS_EXAMINED 列的值太大。

  • 错误 #11827369:一些带有 SELECT ... FROM DUAL 嵌套子查询的查询引发断言。

  • 错误 #16311231:如果一个查询在 IN 子句中包含了子查询,而 WHERE 子句中包含 XOR 操作,则会返回错误的结果。

Aurora MySQL 数据库引擎更新 2019-09-19(版本 1.19.5) 1.19.5
  • CVE-2018-2696

  • CVE-2015-4737

  • 错误 #19929406:HANDLE_FATAL_SIGNAL (SIG=11) IN __MEMMOVE_SSSE3_BACK FROM STRING::COPY

  • 错误 #17059925:对于 UNION 语句,rows-examined 值计算错误。这表现为 Performance Schema 语句表(例如 events_statements_current)的 ROWS_EXAMINED 列的值太大。

  • 错误 #11827369:一些带有 SELECT ... FROM DUAL 嵌套子查询的查询引发断言。

  • 错误 #16311231:如果一个查询在 IN 子句中包含了子查询,而 WHERE 子句中包含 XOR 操作,则会返回错误的结果。

Aurora MySQL 数据库引擎更新 2019-02-07(版本 1.19.0) 1.19.0
  • 错误 #32917:DETECT ORPHAN TEMP-POOL FILES, AND HANDLE GRACEFULLY

  • 错误 #63144 CREATE TABLE IF NOT EXISTS METADATA LOCK IS TOO RESTRICTIVE

Aurora MySQL 数据库引擎更新 2019-01-17 1.17.8
  • 错误 #13418638:CREATE TABLE IF NOT EXISTS METADATA LOCK IS TOO RESTRICTIVE

Aurora MySQL 数据库引擎更新 2018-10-08 1.17.7
  • 在外键列上删除索引导致表丢失。(错误 16208542)

  • 在 add_derived_key() 中发生内存泄漏。(错误 76349)

  • 对于分区表,查询可能会返回不同的结果,具体取决于是否使用索引合并。(错误 16862316)

  • 在针对由 HASH 分区的表运行时,使用 index_merge 优化的查询(请参阅索引合并优化)可能会返回无效的结果。(错误 17588348)

Aurora MySQL 数据库引擎更新 2018-09-06 1.17.6
  • 对于重命名或更改 BINARY 列默认值的 ALTER TABLE 语句,修改是使用表副本完成的,而不是就位完成的。(错误 67141、错误 14735373、错误 69580、错误 17024290)

  • 常规表和隐式为组的派生表之间的外部联接可能会导致服务器退出。(错误 16177639)

Aurora MySQL 数据库引擎更新 2018-03-13 1.17.0
  • 使用复制筛选条件时 LAST_INSERT_ID 不正确复制 (错误 69861)

  • 根据 INDEX_MERGE 设置的不同,查询返回不同的结果 (错误 16862316)

  • 查询过程重新执行存储例程,查询计划效率低下 (错误 16346367)

  • InnoDB FTS:在 FTS_CACHE_APPEND_DELETED_DOC_IDS 中断言(错误18079671)

  • 在 ALTER TABLE CHANGE COLUMN 中断言 RBT_EMPTY(INDEX_CACHE->WORDS) (错误 17536995)

  • INNODB 全文搜索在涉及保存点时找不到记录(错误 70333、错误 17458835)

Aurora MySQL 数据库引擎更新 2017-11-20 1.15.1
  • 已恢复 — MySQL 实例一直在“执行 SYNC 索引”(错误 73816)

  • 已恢复 — 在 ALTER TABLE CHANGE COLUMN 中断言 RBT_EMPTY(INDEX_CACHE->WORDS) (错误 17536995)

  • 已恢复 — InnoDB 全文搜索在涉及保存点时找不到记录 (错误 70333)

Aurora MySQL 数据库引擎更新 2017-10-24 1.15.0
  • CREATE USER 接受插件和密码哈希,但忽略密码哈希 (错误 78033)

  • 分区引擎将字段添加到读位集以便能够从分区索引返回排序的条目。这将促使联接缓冲区尝试读取不需要的字段。通过不向 read_set 添加所有分区字段,而只是对 read_set 中的前缀字段排序来修复该错误。添加了 DBUG_ASSERT,如果执行 key_cmp,则至少必须读取第一个字段 (错误 16367691)。

  • MySQL 实例一直在“执行 SYNC 索引”(错误 73816)

  • 在 ALTER TABLE CHANGE COLUMN 中断言 RBT_EMPTY(INDEX_CACHE->WORDS) (错误 17536995)

  • InnoDB 全文搜索在涉及保存点时找不到记录 (错误 70333)

Aurora MySQL 数据库引擎更新 2018-03-13 1.14.4
  • 可忽略的事件不起作用,并且未经过测试(错误 74683)

  • NEW->OLD ASSERT FAILURE 'GTID_MODE > 0' (Bug #20436436)

Aurora MySQL 数据库引擎更新 2017-08-07 1.14.0

与派生表 (FROM 子句中的子查询) 相结合的全文搜索导致服务器退出。现在,如果全文操作依赖于派生表,服务器将产生指示无法对具体化表执行全文搜索的错误。(错误 68751、错误 16539903)

Aurora MySQL 数据库引擎更新 2017-05-15 1.13.0
  • 当因空值而导致 AUTO_INCREMENT 值被重置时,重新加载已移出的表。(错误 21454472、错误 77743)

  • 由于 purge_node_t structure 中存在不一致,在回滚中未找到索引记录。产生不一致的来源是警告和错误消息,如“二级索引条目更新出错”、“无法清除记录”以及“尝试清除未标记为删除的二级索引条目”等。(错误 19138298、错误 70214、错误 21126772、错误 21065746)

  • qsort 操作堆栈大小计算错误导致堆栈溢出。(错误 73979)

  • 回滚时索引中未找到记录。(错误 70214、错误 72419)

  • ALTER TABLE 添加列 TIMESTAMP 更新 CURRENT_TIMESTAMP 时插入了零数据 (错误 17392)

Aurora MySQL 数据库引擎更新 2017-04-05 1.12.0
  • 当因空值而导致 AUTO_INCREMENT 值被重置时,重新加载已移出的表。(错误 21454472、错误 77743)

  • 由于 purge_node_t structure 中存在不一致,在回滚中未找到索引记录。产生不一致的来源是警告和错误消息,如“二级索引条目更新出错”、“无法清除记录”以及“尝试清除未标记为删除的二级索引条目”等。(错误 19138298、错误 70214、错误 21126772、错误 21065746)

  • qsort 操作堆栈大小计算错误导致堆栈溢出。(错误 73979)

  • 回滚时索引中未找到记录。(错误 70214、错误 72419)

  • ALTER TABLE 添加列 TIMESTAMP 更新 CURRENT_TIMESTAMP 时插入了零数据 (错误 17392)

Aurora MySQL 数据库引擎更新 2017-02-23 1.11.0
  • 将 ALTER table DROP foreign key 与另一个 DROP 操作一起运行会导致表消失。(错误 16095573)

  • 一些使用 ORDER BY 的 INFORMATION_SCHEMA 查询不使用文件排序优化,因为它们之前已使用此优化。(错误 16423536)

  • FOUND_ROWS () 返回错误的表行数。(错误 68458)

  • 服务器失败,而不是在打开的临时表过多时显示错误。(错误 18948649)

Aurora MySQL 数据库引擎更新 2016-12-14 1.10.0
  • 对派生的表执行 UNION 将返回错误结果,显示 '1=0/false'-clauses。(错误 69471)

  • 在第二次对存储过程执行 ITEM_FUNC_GROUP_CONCAT::FIX_FIELDS 时,服务器发生崩溃。(错误 20755389)

  • 通过在缓存大小超过总大小的 10% 时将缓存同步任务卸载到单独的线程,来避免 MySQL 查询在 FTS 缓存同步到磁盘期间卡顿太长时间。(错误 22516559,#73816)

Aurora MySQL 数据库引擎更新 2016-10-26 1.8.1
  • 由于 LogJam 问题,OpenSSL 更改了 Diffie-Hellman 密钥长度参数。(错误 18367167)

Aurora MySQL 数据库引擎更新 2016-10-18 1.8.0
  • 在具有多个索引的列上删除所有索引时,InnoDB 在外键约束需要索引的情况下无法阻止 DROP INDEX 操作。(错误 16896810)

  • 解决了添加外键约束崩溃情况。(错误 16413976)

  • 修复了在提取存储过程中的游标并同时分析或刷新表时发生的崩溃。(错误 18158639)

  • 修复了当用户更改表来将 AUTO_INCREMENT 值更改为低于最大自动递增列值时出现的自动递增错误。(错误 16310273)

Aurora MySQL 数据库引擎更新 2016-08-30 1.7.0
  • 通过对 LOCK_grant 锁进行分区,提高了可扩展性。(端口 WL #8355)

  • 存储过程中在 SELECT 上打开游标可能导致 segfault。(端口错误 16499751)

  • MySQL 提供了有关一些特殊用法的错误结果。(错误 11751794)

  • GET_SEL_ARG_FOR_KEYPART 中发生崩溃 – 由错误 11751794 的修补程序导致。(错误 16208709)

  • 使用 GROUP BY 的简单查询的错误结果。(错误 17909656)

  • 包含范围谓词的半联接查询上的额外行。(错误 16221623)

  • 在 IN 子查询后添加 ORDER BY 子句可能导致返回重复行。(错误 16308085)

  • 发生崩溃,包含针对带 GROUP BY、MyISAM 的松散扫描的查询的说明。(错误 16222245)

  • 包含带引号 int 谓词的松散索引扫描将返回随机数据。(错误 16394084)

  • 如果优化程序使用的是松散索引扫描,则服务器可能在尝试创建临时表时退出。(错误 16436567)

  • COUNT(DISTINCT) 将不会计算 NULL 值,但会在优化程序使用松散索引扫描时计算这些值。(错误 17222452)

  • 如果查询同时包含 MIN()/MAX() 和 aggregate_function(DISTINCT) (例如,SUM(DISTINCT)),并且是使用松散索引扫描执行的,则 MIN()/MAX() 的结果值的设置错误。(错误 17217128)

Aurora MySQL 数据库引擎更新 2016-06-01 1.6.5
  • SLAVE CAN'T CONTINUE REPLICATION AFTER MASTER'S CRASH RECOVERY (Port Bug #17632285)

Aurora MySQL 数据库引擎更新 2016-04-06 1.6.0
  • BACKPORT 错误 18694052 FIX FOR ASSERTION `!M_ORDERED_REC_BUFFER' FAILED TO 5.6 (端口错误 18305270)

  • SEGV IN MEMCPY(), HA_PARTITION::POSITION (端口错误 18383840)

  • WRONG RESULTS WITH PARTITIONING,INDEX_MERGE AND NO PK (端口错误 18167648)

  • FLUSH TABLES FOR EXPORT: ASSERTION IN HA_PARTITION::EXTRA (端口错误 16943907)

  • SERVER CRASH IN VIRTUAL HA_ROWS HANDLER::MULTI_RANGE_READ_INFO_CONST (端口错误 16164031)

  • 范围优化程序在 SEL_ARG::RB_INSERT() 中崩溃(端口错误 16241773)

Aurora MySQL 数据库引擎更新 2016-01-11

1.5.0

  • 处理了影响以数字开头的数据库名称所在的表的 MySQL 全文搜索中的未完成修复。(端口错误 17607956)

Aurora MySQL 数据库引擎更新 2015-12-03

1.4

  • FTSPARSE() 中的 SEGV。(错误 16446108)

  • InnoDB 数据字典在重命名列时不会更新。(错误 19465984)

  • FTS 在将表重命名为其他数据库后发生崩溃。(错误 16834860)

  • 无法为截断的表准备触发器会生成错误 1054。(错误 18596756)

  • 元数据更改可能会导致触发器执行出现问题。(错误 18684393)

  • 未为较长的 UTF8 VARCHAR 字段选择具体化。(错误 17566396)

  • 在将 ORDER BY 与限制 X 结合使用时,执行计划性能下降。(错误 16697792)

  • 将错误 11765744 逆向移植到 5.1、5.5 和 5.6。(错误 17083851)

  • 生成 SIG6 的 SQL/SQL_SHOW.CC 中的互斥问题。根源可能是 FILL_VARIABLES。(错误 20788853)

  • 将错误 18008907 逆向移植到 5.5+ 版本。(错误 18903155)

  • 适应 MySQL 5.7 中的堆栈溢出错误的修复。(错误 19678930)

Aurora MySQL 数据库引擎更新 2015-10-16

1.2、1.3

  • 终止 innodb 中的查询会导致该查询最终崩溃并显示断言。(错误 1608883)

  • 如果无法为事件调度程序、事件执行或新连接创建新线程,则不会将任何消息写入错误日志。(错误 16865959)

  • 如果一个连接更改了其默认数据库,同时另一个连接执行了 SHOW PROCESSLIST,则第二个连接可在尝试显示第一个连接的默认数据库内存时访问无效内存。(错误 11765252)

  • 虽然 PURGE BINARY LOGS 设计为不删除正在使用或活动的二进制日志文件,但发生该操作时,不会提供任何通知。(错误 13727933)

  • 对于某些语句,在优化程序删除不需要的子查询子句时,可能会导致内存泄漏。(错误 15875919)

  • 关闭期间,服务器可能会尝试锁定未初始化的互斥。(错误 16016493)

  • 使用 GROUP_CONCAT() 的准备好的语句和已指定多个列的 ORDER BY 子句可能会导致服务器退出。(错误 16075310)

  • 副本工作线程缺少性能架构检测。(错误 16083949)

  • STOP SLAVE 与诸如 SHOW STATUS(检索 Slave_retried_transactionsSlave_heartbeat_periodSlave_received_heartbeatsSlave_last_heartbeatSlave_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)

  • 当一起使用选项 --master-info-repository=TABLE relay-log-info-repository=TABLE 和 --skip-slave-start 启动服务器且 autocommit 设置为 0 时,START SLAVE 失败。(错误 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_periodSlave_last_heartbeatSlave_received_heartbeatsSlave_retried_transactionsSlave_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)

Aurora MySQL 数据库引擎更新 2015-08-24

1.1

  • 名称以数字开头的 InnoDB 数据库导致的全文搜索 (FTS) 分析器错误。(错误 17607956)

  • 名称以数字开头的数据库中的 InnoDB 全文搜索失败。(错误 17161372)

  • 对于 Windows 上的 InnoDB 数据库,全文搜索 (FTS) 对象 ID 未使用预期的十六进制格式。(错误 16559254)

  • MySQL 5.6 中引入的代码回归对 DROP TABLE 和 ALTER TABLE 性能有负面影响。这可能会导致 MySQL Server 5.5.x 和 5.6.x 之间的性能下降。(错误 16864741)