Documentation Home
MySQL 5.6 发行说明  /  MySQL 5.6.12 的变化(2013-06-03,全面上市)

MySQL 5.6.12 的变化(2013-06-03,全面上市)

此版本的已知限制:

重要的

InnoDB由于新引入的损坏检查功能,可能无法打开具有多个数据文件的表空间。如果您的共享表空间有多个文件,建议您不要升级到此版本InnoDB。如果您已升级到受影响的版本并且服务器不再启动,您可以在可用时升级到更高版本或降级到更早版本。

笔记

如果您有InnoDB带有全文搜索索引的表,并且您正在从 MySQL 5.6.10 升级到 MySQL 版本(包括 MySQL 5.6.18),则服务器将在升级后无法启动(错误#72079)。此错误已在 MySQL 5.6.19 中修复。解决方法是在升级之前删除全文搜索索引,并在升级完成后重建全文搜索索引。

添加或更改的功能

  • mysql_upgrade现在验证服务器版本是否与编译它的版本相匹配,如果不匹配则退出。此外,一个 --version-check选项允许指定是否启用版本检查(默认),或者如果给定则禁用检查 --skip-version-checking。(漏洞 #16500013)

修正错误

  • 不兼容的更改: 当用于现有 MySQL 帐户时, 表行 中命名的插件不同的身份验证插件的子句, GRANT语句可能会产生意外结果IDENTIFIED WITHmysql.user

    因为IDENTIFIED WITH仅用于 GRANT创建新用户的语句,所以如果指定的帐户已经存在,现在将被禁止。(漏洞 #16083276)

  • 重要变更;复制: 当服务器运行 --binlog-ignore-db并 返回 (即,当前没有选择的数据库),使用完全限定表名的语句 。 格式未写入二进制日志。这是因为在这种情况下缺少当前选择的数据库被视为匹配任何可能的忽略选项,而不是没有这样的选项;这意味着这些陈述总是被忽略。 SELECT DATABASE()NULLdbnametblname

    现在,如果没有当前数据库,则始终将使用完全限定表名的语句写入二进制日志。(缺陷 #11829838,缺陷 #60188)

  • 创新数据库;分区: 涉及InnoDB 具有一列或多BLOB 列的分区表的联接并不总是能得到正确处理。一个 BLOB或多个列不需要是连接列,或者在包含连接的语句中以其他方式命名或引用,才会发生此问题。(漏洞#16367691)

  • InnoDB: 在调试版本中,执行全表复制的在线ALTER TABLE操作会引发断言。该断言是由于在 BLOB 检索期间将表修改日志应用于除最后一个日志块之外的任何日志块时会发生的竞争条件。此修复修改 row_log_table_apply_convert_mrec()以确保获取索引 B 树锁以保护对 log->blobsBLOB 页面的访问。(漏洞#16774118)

  • InnoDB: 当函数 trx_rollback_or_clean_recovered()在崩溃恢复期间回滚或清理事务时,它会从trx_sys列表中删除 trx 对象,而不释放这些对象使用的内存。为防止内存泄漏,此修复添加了对删除 trx 对象的函数的trx_free_for_background() 调用trx_rollback_resurrected()(漏洞#16754776)

  • InnoDB:dict_check_tablespaces_and_store_max_id()space_id等于零 会发生内存泄漏 (漏洞 #16737332)

  • InnoDB:输出 中缺少逗号SHOW STATUS 会破坏 MySQL Enterprise Monitor 解析。(漏洞#16723686)

  • InnoDB: 干净关闭后,InnoDB不在 .ibd启动时检查文件头。因此,在崩溃恢复情况下,InnoDB可能会加载损坏的表空间文件。此修复实施一致性和状态检查以避免加载损坏的文件。(漏洞 #16720368)

  • InnoDB: 此修复解决了在已恢复事务的回滚和锁定操作中创建二级索引之间可能发生的竞争条件。竞争条件会破坏二级索引。(漏洞 #16593427)

  • InnoDB: 压缩临时表上的 DML 操作会导致缓冲区管理器堆栈中出现 Valgrind 错误。(漏洞 #16593331)

  • InnoDB: 对于ALTER TABLE操作 InnoDB的表操作,表上的其他事务可能会在复制过程中失败。但是,如果此类事务发出部分回滚,则回滚将被视为完整回滚。(漏洞 #16544143)

  • InnoDB: 线程recv_writer只会在所有重做日志扫描完成后启动。在多次重做日志扫描的情况下,累积的重做记录将在每次扫描之后和处理下一次扫描之前应用。缺少 recv_writer帮助刷新的线程会减慢恢复速度或导致服务器启动超时。此修复可确保recv_writer线程在处理第一个扫描批次之前启动。(漏洞 #16501172)

  • InnoDB: 在某些情况下,LRU 刷新会花费很长时间,可能会影响所有刷新活动并导致关闭超时。(漏洞 #16500209)

  • InnoDB: 当字符集表InnoDBmemcached test.demo_test表无法工作utf8(漏洞 #16499038)

  • InnoDB: 在线程被迫进行单页刷新的情况下, fsync()将为所有数据文件触发。此修复允许同步单页刷新。(漏洞 #16477781)

  • InnoDB: 此修复 OS_THREAD_SLEEP从 InnoDB 中删除了对的大多数调用。(错误#16472953,错误#68588)

  • InnoDB: FLUSH TABLES ... FOR EXPORT从缓冲池中刷新页面时经常休眠。(漏洞 #16471701)

  • InnoDB: 并发插入全文表会导致部分插入失败。在对隐藏的全文搜索文档 ID 列执行插入操作时,会为全文搜索文档 ID 生成重复值。(漏洞#16469399)

  • InnoDB:page_zip_available函数会对某些字段进行两次计数。(漏洞 #16463505)

  • InnoDB: 此修复将IB_ULONGLONG_MAX 常量LSN_MAX为代码引用日志序列号的TRX_ID_MAX 位置trx->no为初始化为未定义值的位置。此更改不会改变常量的值。(漏洞 #16458660)

  • InnoDB: 此修复更正了 InnoDB 错误 6025 的文本,该文本指出 InnoDB:无法在 ./ib_logfile0 模式下打开读取。。更正后的消息指出,InnoDB: ./ib_logfile0 无法以读取模式打开。消息结构中的变量和模式被调换了。(漏洞#16434398)

  • InnoDB:使用该算法 创建外键约束 设置为 0 ()。因此,不会执行适当的重复 ID 检查。(漏洞 #16413976)ALTER TABLE INPLACEforeign_key_checksSET foreign_key_checks = 0;

  • InnoDB: 在调试版本中,插入失败,断言无效: sync_thread_levels_g(array, level - 1, TRUE)。(漏洞 #16409715)

  • InnoDB: 多个并发调用 dict_update_statistics()将导致不必要的服务器负载。(漏洞 #16400412)

  • InnoDB: 在 64 位 Windows 构建中, INNODB_BUFFER_POOL_SIZE不会接受超过 32GB 的分配。此限制是由于一个错误,该错误在 64 位 Windows 构建中将 InnoDB 缓冲池大小的内部值截断为 32 位。(漏洞 #16391722,漏洞 #68470)

  • InnoDB: DROP DATABASE如果数据库包含一个 InnoDB 表,该表在外部数据目录中有一个数据文件,则失败。外部数据文件具有 MySQL 无法识别的“ InnoDB 符号链接文件类型 (.isl此修复程序添加了.isl一个已知的 InnoDB 文件类型。(漏洞 #16338667)

  • InnoDB: RENAME TABLE由于 MySQL mutex 获取死锁会导致挂起。(漏洞 #16305265)

  • InnoDB: 在测试FLUSH TABLES 由于缺少清除线程已停止的确认,操作导致超时。(漏洞#16277387)

  • InnoDB: 对于压缩表,页面重组操作总是将MLOG_ZIP_PAGE_REORGANIZE记录写入重做日志,只有在 innodb_log_compressed_pages=OFF. 当 时 innodb_log_compressed_pages=ON,页面重组操作应该记录压缩页面图像。(漏洞 #16267120)

  • InnoDB: 当表通过外键约束链接时,加载一个表将递归打开其他链接表。当许多表通过外键约束链接时,这有时会导致线程堆栈溢出,从而导致服务器退出。由外键约束链接的表现在以迭代方式加载。也以递归方式执行的级联操作现在使用显式堆栈迭代执行。(错误#16244691,错误#65384)

  • InnoDB: 禁用外键检查 并执行 a后,重新启动服务器后无法再访问该表。此修复允许在. 当表可访问时,用户必须重新创建丢失的索引以满足外键约束。(错误#16208542,错误#68148)SET foreign_key_checks=0DROP INDEXSET foreign_key_checks=0

  • InnoDB: 当事务处于READ COMMITTED隔离级别时,插入行时仍然在二级索引中获取间隙锁。当扫描二级索引以查找重复项时,会发生这种情况。无论事务隔离级别如何,该 函数 row_ins_scan_sec_index_for_duplicate()始终调用该函数 此修复根据事务隔离级别修改 函数以 使用 或 (漏洞 #16133801,漏洞 #68021)row_ins_set_shared_rec_lock()LOCK_ORDINARYrow_ins_scan_sec_index_for_duplicate()row_ins_set_shared_rec_lock()LOCK_ORDINARYLOCK_REC_NOT_GAP

  • InnoDB: 启动mysqld--innodb-log-buffer-size=50GB 分配内存失败并返回 NULL。对于非调试构建,没有适当的检查并且发生了分段错误。此修复程序添加了一条日志消息,指出无法分配内存,并添加了一个断言。(漏洞 #16069598,漏洞 #68025)

  • InnoDB:UNIV_DEBUG调试版本中启用时, buf_validate()通常会调用它,有时会在信号量等待超时测试中导致错误警报。此修复增加了计数器值以减少误报。(漏洞 #16068056)

  • InnoDB:explain_filename函数通过解析文件名来提供有关分区的信息,在尝试解析没有分区信息的文件名时会返回错误。(漏洞 #16051728)

  • InnoDB: 停止服务器,从数据目录中删除数据库表 (d1.t1) .frm文件,重新启动服务器并删除数据库 (d1),将导致断言。(漏洞 #16043216)

  • InnoDB: 在处理读写工作负载时,InnoDB 会扫描比刷新所需更多的页面,从而不必要地消耗 CPU 资源。(漏洞 #16037180)

  • InnoDB: 活动 FLUSH TABLES ... FOR EXPORT线程会在关闭期间导致挂起。该修复确保 trx_is_interrupted()ibuf_merge. (漏洞 #15953255)

  • InnoDB:由重复键错误引起的 多行 INSERT ... ON DUPLICATE KEY UPDATE插入失败将导致重复的自动增量值。(漏洞 #14483484,漏洞 #66301)

  • 复制:在启用 GTID 的主服务器上 发出FLUSH TABLES语句导致复制失败。发现此错误行为是由 Bug #16062608 的修复程序引入的,它不允许执行隐式提交但在 gtid_next设置为 . 以外的任何值AUTOMATIC。该修复程序中所做的更改已被还原,并且(再次)允许此类语句而不考虑此变量的值。(漏洞 #16715809,漏洞 #69045)

    参考资料:恢复补丁:Bug #16062608。

  • 复制:尝试使用带 选项的mysqlbinlog 从基于行格式的二进制日志还原单个数据库时,时间点恢复可能会失败 --database(漏洞 #16698172)

  • 复制:InnoDB在执行RESET MASTER语句 导致丢失先前事务的提交时崩溃错误 发生这种情况是因为准备阶段导致刷新到磁盘,而提交阶段没有在InnoDB.

    为了解决这个问题,RESET MASTER现在导致存储引擎日志在提交时被刷新。(错误#16666456,错误#68932)

  • 复制: 当从二进制日志中处理一个Update_rows_log_eventDelete_rows_log_event时,之前的图像被散列并存储在散列表中。在此之后,扫描原始表以查找所需的记录;后续处理对从原始表中获取的每条记录进行哈希处理,并在哈希表中对其执行查找。但是,从最初设置为的图像中读取的列NULL可能包含随机或 垃圾数据,导致查找(以及复制)失败并出现诸如Could not execute Update_rows event on table...之类的错误。(漏洞 #16621923)

    参考资料:另请参阅:Bug #11766865。此问题是 Bug #16566658 的回归。

  • 复制: 当与 options 一起使用时 , mysqldump在引号内打印端口号,就好像它是一个字符串值而不是一个整数。(漏洞 #16615117)--dump-slave --include-master-host-port

  • Replication: 由于某些系统上的时间分辨率问题,转储线程从从属回复所花费的时间可以计算为小于零,导致Semi-sync master wait for reply fail to get wait time错误. 由于这种情况不会对复制产生负面影响,因此由这些情况引起的错误已减少为警告。(漏洞#16579028)

  • 复制: 尝试更新 NULL没有主键的表的列(以前设置为 )导致复制失败,并显示“无法在“ table”中找到记录...”

    此问题最初已在 MySQL 5.6.3 中修复,但无意中在 MySQL 5.6.6 中重新引入。(漏洞 #16566658)

    参考资料:另请参阅:Bug #16621923。此问题是 Bug #11766865 的回归。

  • 复制:--log-slave-updates与一起 运行服务器 --replicate-wild-ignore-table--replicate-ignore-table在某些情况下导致不记录用户变量的更新。(漏洞 #16541422)

  • 复制: 当使用mysqlbinlogmysql客户端在启用了 GTID 的服务器上前滚两个或多个二进制日志 gtid_next时,从第一个二进制日志切换到第二个二进制日志时变量没有正确重置,导致处理停止并出现错误观点。(漏洞 #16532543)

  • 复制:尝试处理多个文件时 , mysqlbinlog选项 --include-gtids--exclude-gtids--skip-gtids(漏洞 #16517775)

  • 复制: 当在二进制日志中发现一个或多个 GTID 日志事件但没有以前的 GTIDs 日志事件时,由此产生的错误处理不当并导致服务器故障。(这是一种极其罕见的情况,在正常情况下永远不会发生,并且可能表明二进制日志文件已以某种方式损坏。)现在在这种情况下,会发出适当的错误并得到正确处理。(漏洞 #16502579,漏洞 #68638)

  • 复制: 尝试START SLAVE 在导入新slave_master_infoslave_relay_log_info表后执行失败并显示空错误消息。现在在这种情况下会发出适当的错误和消息。(缺陷 #16475866,缺陷 #68605)

  • 复制:slave_relay_log_info在清空表 后重新启动服务器 导致mysqld在尝试返回错误时失败。(漏洞 #16460978,漏洞 #68604)

  • 复制: 由于在二进制日志变满时并发尝试旋转,因此执行了额外的二进制日志旋转,允许成功。这可能会导致不必要地创建许多小的二进制日志文件。(错误#16443676,错误#68575)

  • 复制: 当执行事件的大小超过为缓冲区 (slave_pending_jobs_size_max) 设置的最大值时,基于行的复制可能会因Waiting for slave workers to free pending events 而挂起。(漏洞 #16439245,漏洞 #68462)

  • 复制: 在与主服务器断开连接后,从服务器在某些情况下可能会在重新连接时错误地报告它收到了一个大于 的数据包 slave_max_allowed_packet,从而导致复制失败。(漏洞 #16438800,漏洞 #68490)

  • Replication: MTS slave 恢复期间的 SQL 线程错误导致 slave 失败。(缺陷 #16407467,缺陷 #68506)

  • 复制: 当使用选项 , mysqlbinlog无法重置用于存储文件中当前位置的计数器。(漏洞 #16316123,漏洞 #68347)--read-from-remote-server --stop-never --base64-output=decode-rows --verbose

  • Replication: 使用mysqldump备份MySQL 5.6.4及之前版本创建的数据库时,设置 --set-gtid-purged=AUTO导致备份失败,因为5.6.5之前版本的MySQL不支持GTIDs,无法判断是否为GTIDs已为数据库启用。此修复确保 mysqldumpSET @@GLOBAL.gtid_purged在备份任何 5.6.5 之前的数据库时不会尝试输出 (错误#16303363,错误#68314)

  • 复制: 死锁有时会发生在具有大量并发更新的组提交上,以及当一个客户端从提交中持有锁而另一个客户端在轮换二进制日志时强加锁。(错误#16271657、错误#16491597、错误#68251、错误#68569)

  • 复制: 启用半同步复制后,使用创建的事件自动丢弃到主服务器上ON COMPLETION NOT PRESERVE会导致主服务器失败。(漏洞 #15948818,漏洞 #67276)

  • 复制:SET列设置到 NULL存储过程内部导致复制失败。(缺陷 #14593883,缺陷 #66637)

  • 复制: 二进制日志内容有时会损坏,因为MYSQL_BIN_LOG::write_cache当函数报告“0”时,该函数始终认为它已到达缓存末尾 my_b_fill(),而这也可能意味着发生了错误。此修复可确保每当my_b_fill()返回“0”时,都会对 执行错误检查info->error。(缺陷 #14324766,缺陷 #60173)

  • 复制: PURGE BINARY LOGS按设计不会删除正在使用或活动的二进制日志文件,但在发生这种情况时没有提供任何通知。现在,如果在这种情况下未删除日志文件,则会发出警告;此警告包括有关文件的信息,或者在发出语句时文件未被删除。(错误#13727933,错误#63138)

  • 复制: 当使用二进制日志记录格式复制到BLACKHOLE 表时,无法应用更新和删除,因此会被跳过。现在,无论何时发生,都会为此生成警告。

    笔记

    binlog_format=STATEMENT复制到使用 BLACKHOLE存储引擎的表时推荐使用。

    (漏洞 #13004581)

  • 删除服务器 RPM 包不会关闭正在运行的现有服务器。(漏洞#16798868)

  • 在 Performance Schema 表中设置PROCESSLIST_STATE值的开销THREADS已减少。(漏洞 #16633515)

  • Windows 身份验证插件无法为每个连接释放上下文缓冲区。(漏洞#16591288)

  • DBUG_PRINT()未启用调试时,宏会不必要地评估参数 。(漏洞#16556597)

  • 使用 WKB 数据的几何方法执行的输入数据验证不充分,这可能导致 Valgrind 错误或服务器退出。(错误#16510712,错误#12772601)

  • 服务器可能会尝试filesort对零大小排序长度进行操作,从而导致它退出。(漏洞 #16503160)

  • SELECT 在存储过程中 打开游标可能会导致分段错误。(漏洞 #16499751)

    参考:这个问题是 Bug #14740889 的回归。

  • my_load_defaults()进行了修改以适应 gcc 4.7.2 编译下的一些问题,这些问题可能会导致客户端在选项处理期间崩溃。(漏洞 #16497125)

  • SET PASSWORD被 视为引用同一表行user@'%'。 (漏洞 #16488043)user@''mysql.user

  • 当索引条件下推用于递减范围扫描并且第一个范围区间不包含任何符合条件的记录时,即使其他范围区间包含符合条件的记录,范围扫描的结果也可能为空。(漏洞 #16483273)

  • 用于空间操作的 WKB 读取器可能会失败并导致服务器退出。(漏洞 #16451878)

  • 在访问引用连接序列中较早的表的列的ref情况下, 优化器试探法不恰当地首选范围访问而不是 访问。ref(漏洞 #16437940)

  • 性能模式参数在启动时自动调整大小没有考虑稍后自动调整对性能模式参数所依赖的其他启动参数的更改。(漏洞 #16430532)

  • 使用的一些INFORMATION_SCHEMA查询 没有像在 MySQL 5.5 中那样ORDER BY使用 优化。filesort(漏洞 #16423536)

  • 密码格式错误的手动创建的帐户(使用 INSERT)实际上没有密码。(漏洞 #16414396)

  • 对于调试版本,当 系统变量值超过 255 个字符时会DBUG_EXPLAIN导致缓冲区溢出。debug(漏洞 #16402143)

  • 目录中的几个sql-bench本应可执行的脚本没有设置可执行访问位。(漏洞 #16395606)

  • 对于调试版本,XA 事务处于 IDLE 或 PREPARED 状态,在启用查询缓存的情况下执行查询可能会导致服务器退出。(漏洞 #16388996)

  • 使用dpkg 在 Ubuntu 12.10 上安装 Debian 软件包成功 ,但在软件中心 5.4.1.4 上安装失败。(漏洞 #16387513)

  • 在处于 ACTIVE 状态的 XA 事务中,导致隐式提交的语句可能导致过早释放元数据锁。(漏洞 #16362832)

  • 对于调试版本,子句GROUP_CONCAT(... ORDER BY)内可能会导致服务器退出。ORDER BY(漏洞 #16347426)

  • GROUP_CONCAT()包含具有外部引用的子查询 的调用导致服务器退出。(漏洞#16347343)

  • validate_password插件并不总是对分配空密码实施适当的约束。(漏洞#16346443)

  • 重新执行存储过程可能会导致服务器退出 Item_field::fix_outer_field. (漏洞 #16317443)

  • 对于调试版本,服务器可以退出涉及嵌套子查询的查询,子查询转换为半连接并使用视图。(漏洞 #16317076)

  • thread_pool_high_priority_connection 无法在服务器启动时设置。(漏洞 #16310373)

  • 启用后,密码使用secure_auth4.1 之前(旧)散列的用户无法将其更新为使用 4.1(新)散列。(漏洞 #16304018)

  • XOR范围优化器可能会为使用操作 的查询设置不正确的范围。(漏洞 #16272562)

  • 如果使用的帐户密码过期,则mysql_secure_installation无法连接到服务器。它以非交互方式调用mysql,导致该程序无法连接。现在mysql 支持一个 --connect-expired-password选项,该选项向服务器指示它可以处理过期密码帐户的沙箱模式,即使是非交互调用,并且 mysql_secure_installation使用此选项调用 mysql 。(漏洞 #16248315)

  • 如果在使用 的查询上使用了松散索引扫描,则 MIN()可能会发生分段错误。(漏洞 #16222245)

  • 常规表和作为隐式组的派生表之间的外部连接可能会导致服务器退出。(漏洞 #16177639)

  • 如果在一个请求中发送了多个语句,审计日志插件只记录最后一个。现在它分别记录每个语句。(漏洞 #16169063)

  • eq_ref对于调试版本,对于使用access 和 执行的查询错误地提出了断言filesort。(漏洞 #16164885)

  • 使用的准备好的语句 GROUP_CONCAT()ORDER BY命名多列的子句可能导致服务器退出。(漏洞 #16075310)

  • ORDER BY MATCH ... AGAINST可能导致服务器退出。(漏洞 #16073689)

  • FEDERATED在不指定连接字符串的情况下 创建表导致服务器退出。(漏洞 #16048546)

  • 来自 MySQL 5.6.4 及更高版本的客户端程序可能会在连接过程中使用旧服务器无法理解的较新协议功能来混淆旧服务器。(漏洞 #15965409)

  • 如果命令是在多个服务器运行的情况下执行 的,则mysql.server脚本会退出并出错。status(漏洞 #15852074)

  • 在某些情况下,REVOKE可能无法撤销GRANT OPTION 特权。(漏洞 #14799187)

  • 在语句的子句中 使用VALUES()函数可能导致 Valgrind 警告或服务器不稳定,可能导致服务器退出。(漏洞 #14789787)VALUES()INSERT

  • mysql客户端 在交互模式下读取每一行后分配但没有释放字符串,导致内存泄漏。(漏洞 #14685362)

  • 在断开连接的过程中终止连接可能会导致提出断言、Valgrind 警告和一般不稳定。(漏洞 #14560522)

  • INSERT ... ON DUPLICATE KEY UPDATE在视图上可能会导致服务器退出。(漏洞 #14261010)

  • 按子查询中的外部BLOB列分组导致服务器退出。(错误#13966809,错误#14700180)

  • 由于对无效比较的错误处理不当,服务器可能会退出。(漏洞 #13009341)

  • CMake检查 在unsigned time_t所有平台上都失败了。(漏洞 #11766815)

  • mysqladmin debug使服务器将调试信息写入错误日志。在支持的系统上, 当mysqld消耗超过 4GB 内存 mallinfo()时,此输出的内存状态部分在 64 位环境中不正确

    现在服务器用于malloc_info()获取内存状态信息。malloc_info()不报告glibc malloc()实现内部使用分配的内存mmap()。但是,它确实提供了所有内存区域中的内存使用信息。

    此错误修复还涉及输出格式的更改。服务器现在以 XML 格式而不是纯文本格式写入内存信息。例子:

    Memory status:
    <malloc version="1">
    <heap nr="0">
    <sizes>
    <size from="33" to="33" total="1056" count="32"/>
    <size from="65" to="65" total="65" count="1"/>
    <size from="113" to="113" total="226" count="2"/>
    <size from="129" to="129" total="2451" count="19"/>
    <size from="145" to="145" total="290" count="2"/>
    <size from="161" to="161" total="1288" count="8"/>
    <size from="209" to="209" total="418" count="2"/>
    </sizes>
    <total type="fast" count="0" size="0"/>
    <total type="rest" count="66" size="5794"/>
    <system type="current" size="10833920"/>
    <system type="max" size="10833920"/>
    <aspace type="total" size="10833920"/>
    <aspace type="mprotect" size="10833920"/>
    </heap>
    <total type="fast" count="0" size="0"/>
    <total type="rest" count="66" size="5794"/>
    <system type="current" size="10833920"/>
    <system type="max" size="10833920"/>
    <aspace type="total" size="10833920"/>
    <aspace type="mprotect" size="10833920"/>
    </malloc>

    (漏洞 #11746658)

  • 针对使用 CASE运算符和 HAVING子句创建的视图的查询被错误拒绝 ER_VIEW_INVALID(错误 1356)。(漏洞 #69774,漏洞 #17183462)

  • FOUND_ROWS()如果前面的查询使用 ,则可能会返回不正确的值 filesort。(漏洞 #69119,漏洞 #16760474)

    参考:这个问题是 Bug #68458 的回归。

  • 优化器可能会为带有ORDER BY ... LIMIT. (缺陷 #69013,缺陷 #16697792)

  • 当在选项文件中指定时, plugin-dir客户端选项被忽略。(漏洞 #68800,漏洞 #16680313)

  • 当只计算事件而不是计时时,Performance Schema 会将MIN_TIMER_WAIT值报告为一个大数字而不是 0。(Bug #68768,Bug #16552425)

  • 使用带有索引前缀的范围访问可能会产生不正确的结果。(缺陷 #68750,缺陷 #16540042)

  • 对于调试版本,元数据锁定CREATE TABLE ... SELECT可能会引发断言。(缺陷 #68695,缺陷 #16503173)

  • mysqld --helpmysqld 执行了不必要的日志记录。(缺陷 #68578,缺陷 #16442113)--verbose --help

  • 提供了一个新的CMake选项, WITH_EDITLINE用于指示是使用捆绑的还是系统 libedit/editline库。允许的值为bundled(默认值)和system.

    WITH_EDITLINE替换 WITH_LIBEDIT,已被删除。(漏洞 #68558,漏洞 #16430208)

  • 如果使用松散索引扫描来评估将整数列与指定为带引号的字符串(例如,col_name = '1')的整数进行比较的查询,则该查询可能会返回不正确的结果。(错误#68473,错误#16394084)

  • mysql.user在使用未升级表( 尚未运行mysql_upgrade ) 的 MySQL 5.5 更新的 MySQL 服务器 中,设置密码的语句由于对password_expired列的错误检查导致服务器退出。(缺陷 #68385,缺陷 #16339767)

  • 在存储过程的第一次调用期间使用的派生表上的索引不会在后续调用中使用。(缺陷 #68350,缺陷 #16346367)

  • 如果诸如 AES_DECRYPT()需要 SSL 支持的函数失败,该错误可能会影响以后对需要 SSL 支持的函数的调用。(漏洞 #68340,漏洞 #16315767)

  • 对于DELETEand UPDATE语句, EXPLAIN显示 NULLref列中对于某些情况const来说是比较合适的。(漏洞 #68299,漏洞 #16296268)

  • 即使以多字节默认字符集启动,mysql 客户端也会错误地用于某些比较,从而导致客户 端崩溃latin1(漏洞 #68107,漏洞 #16182919)

  • InnoDB不支持全文解析插件,但指定了也报错。现在 ER_INNODB_NO_FT_USES_PARSER 返回一个错误。(缺陷 #62004,缺陷 #12843070)

  • 数据库帮助表中的urlmysql太短,无法容纳帮助内容中的某些 URL。这些列现在创建为类型TEXT以适应更长的 URL。(缺陷 #61520,缺陷 #12671635)

  • 从当前 debug系统变量设置中添加或减去关键字的两个问题已得到纠正:

    • debug表示 'd'启用所有调试宏。以下序列使值处于不正确的状态:

      mysql> SET debug = 'd';SELECT @@debug;
      +---------+
      | @@debug |
      +---------+
      | d       |
      +---------+
      
      
      mysql> SET debug = '+d,M1';SELECT @@debug;
      +---------+
      | @@debug |
      +---------+
      | d,M1    |
      +---------+

      第一条 SET 语句启用所有调试宏。第二个 SET 应该将M1宏添加到当前集,这应该不会导致任何变化,因为当前集已经是所有宏。相反,第二个 SET 将当前设置重置为仅M1 宏,有效地禁用所有其他宏。服务器现在正确地将debug设置保留为'd'

    • debug表示 ''未启用调试宏。以下序列使值处于不正确的状态:

      mysql> SET debug = 'd,M1';SELECT @@debug;
      +---------+
      | @@debug |
      +---------+
      | d,M1    |
      +---------+
      
      
      mysql> SET debug = '-d,M1';SELECT @@debug;
      +---------+
      | @@debug |
      +---------+
      | d       |
      +---------+

      第一条 SET 语句设置debugM1*宏。第二个 SET 应该从当前集合中减去M1宏,不启用任何调试宏。相反,第二个 SET 将当前设置重置为'd'(启用所有宏)。服务器现在正确设置 debug''.

    (错误#58630,错误#11765644)

  • 现在可以 mysql-test通过调用CMake并将 INSTALL_MYSQLTESTDIR选项显式设置为空来在从源代码编译 MySQL 后抑制目录的安装:

    cmake . -DINSTALL_MYSQLTESTDIR=

    以前,尝试这样做会导致错误。(错误#58615,错误#11765629)

  • 在 64 位 OS X 系统上,CMake 在确定机器类型时使用 x86而不是。x86_64(错误#58462,错误#11765489)

  • IF()在准备好的语句和非准备的语句中执行时,函数求值可能会产生不同的结果。(漏洞 #45370,漏洞 #11753852)