Documentation Home
MySQL 5.6 发行说明  /  MySQL 5.6.19 的变化(2014-05-30,正式发布)

MySQL 5.6.19 的变化(2014-05-30,正式发布)

没有 MySQL Community Server 5.6.18。该版本号用于 MySQL 企业版的计划外发布,以解决 OpenSSL Heartbleed问题。这个问题不影响 MySQL Community Edition,因为它使用 yaSSL,而不是 OpenSSL,因此不需要新版本的 Community Server,5.6.17 之后是 5.6.19。

弃用和移除说明

  • mysqlbug、 mysql_waitpid和 mysql_zap实用程序已被弃用,并将在 MySQL 5.7 中删除。

添加或更改的功能

  • 过时且无人维护的charset2html 实用程序已从 MySQL 发行版中删除。(错误#71897,错误#18352347)

修正错误

  • InnoDB: 从 5.6.10 升级到 MySQL 5.6.18 及以下版本后,InnoDB将尝试在服务器启动时重命名过时的全文搜索辅助表,从而导致断言失败。(缺陷 #18634201,缺陷 #72079)

  • InnoDB: 启用持久统计信息后,SHOW TABLE STATUS输出和 TABLE_ROWSINFORMATION_SCHEMA.TABLES可能会报告具有外部存储页面的表的表行数不正确。(漏洞 #18384390)

  • InnoDB: Bug#17699331 的修复导致读/写锁的创建和销毁率很高,从而导致性能下降。(漏洞 #18345645,漏洞 #71708)

    参考资料:此问题是 Bug #17699331 的回归。

  • InnoDB: 对于每个插入,memset将被调用三次来为系统字段分配内存。为了减少 CPU 使用率,这三个memset调用现在合并为一个调用。(缺陷 #17858679,缺陷 #71014)

  • InnoDB: 启用InnoDB表监视器会导致ib_table->stat_initialized 断言失败。(漏洞 #17039528,漏洞 #69641)

  • InnoDB:在脏页百分比达到至少 1% 之前, 使用 innodb_max_dirty_pages_pct=0 缓冲池不会启动刷新,这将留下最多 1% 的脏页未刷新。(缺陷 #13029450,缺陷 #62534)

  • 复制: 日志轮换事件可能导致 group_relay_log_pos在组内错误地向前移动。这意味着,当事务被重试时,或者如果 SQL 线程在一个或多个日志轮换后的事务中间停止(例如事务或组跨越多个中继日志文件),部分或全部组是默默跳过。

    此问题已通过更正用于在更新日志位置作为中继日志轮换的一部分时避免触及 SQL 线程的坐标的逻辑中的问题得到解决,从而可以在不使用多线程从属时更新 SQL 线程的坐标,即使在一群人中间。(漏洞#18482854)

  • 复制: 当使用 运行服务器时 --gtid-mode=ONSTOP SLAVE随后 START SLAVE导致由 提供的信息 INFORMATION_SCHEMA.INNODB_TEMP_TABLE_INFOSlave_open_temp_tables 状态变量不匹配:该INNODB_TEMP_TABLE_INFO 表显示不存在临时表,但 Slave_open_temp_tables具有非零值。(漏洞#18364070)

    参考资料:另请参阅:错误 #18236612。

  • 复制: 在某些情况下,服务器错误处理了触发器和存储过程,这些触发器和存储过程在被调用时试图修改其他表 CREATE TABLE ... SELECT。现在,这已作为错误正确处理。(漏洞 #18137535)

  • 复制: 在使用事务存储引擎的表上使用时,失败TRUNCATE TABLE仍会写入二进制日志,因此会在从属服务器上重放。当主服务器保留从服务器上删除的数据时,这可能会导致不一致。

    现在,在这种情况下TRUNCATE TABLE,只有在成功执行时才会记录。(缺陷 #17942050,缺陷 #71070)

  • 复制:auto.cnf如果此文件的权限不正确, 服务器并不总是正确处理该 (错误#17786581,错误#70891)

  • 复制: 当二进制日志因收到 SIGHUP信号而旋转时,新的二进制日志不包含Previous_gtid_event后续处理该二进制日志的 GTID 事件所需的信息。现在,当 SIGHUP收到时,将采取措施确保服务器 Previous_gtid_event在将任何 GTID 事件写入新日志之前将必要的内容写入新日志。(漏洞 #17026898)

  • 复制:gtid_mode=ON,并且事务在从服务器上被过滤掉时,该事务的 GTID 仍然作为 事务记录在从服务器上(由 GTID 紧跟 BEGIN和 然后 COMMIT)。这对于防止下次从站重新连接或参与故障转移时重新传输事务是必要的。当前修复解决了与此类“ 交易 相关的两个问题

    (错误#71376、错误#18095502、错误#18145032)

  • 在该表被截断后,服务器可能无法正确地重新准备引用另一个表的触发器。(错误#18596756、错误#72446、错误#18665853)

  • 对于前缀或字符串列上的索引,由于不正确的字符计数,可能会在将二进制数据分配给列时发生索引损坏。(漏洞#18359924)

  • 某些INFORMATION_SCHEMA查询可能会导致服务器退出。(漏洞 #18319790)

  • Solaris 特定的脚本包含在非 Solaris 软件包中并由其安装。(漏洞 #18305641)

  • innobase_strnxfrm()写了一个字节太多。(漏洞#18277082)

  • EXPLAIN在带有 EXISTS包含 a 的子查询的查询 上UNION可能会导致服务器退出。多次执行准备好的EXPLAINUNION查询可能会导致服务器退出。(漏洞 #18167356)

  • 同时执行FLUSH TABLES操作和使用游标的存储程序可能会导致服务器退出。(漏洞 #18158639)

  • 如果发生数据包缓冲区内存的重新分配,客户端库可能会由于错误地将客户端错误编号映射到相应的消息而导致客户端退出。(漏洞 #18080920)

  • mysql_get_server_version()使用无效的连接处理程序参数调用导致客户端退出 。 现在它返回 0 并报告 CR_COMMANDS_OUT_OF_SYNC错误。(漏洞 #18053212)

  • 在 Windows 上,调用mysql_thread_init()call withoutmysql_init()会导致客户端退出。视窗。mysql_thread_init()现在它返回一个非零结果,因为在使用 初始化客户端库之前 调用它是错误的mysql_library_init()。(漏洞 #17514920)

  • mysqldump可以在转储文件中创建表定义,从而在重新加载转储文件时导致Too many columns错误。(漏洞#17477959)

  • 在子查询被转换掉的情况下,优化器跟踪可能导致服务器退出。(漏洞 #17458054)

  • 调试同步工具可能会丢失信号,从而导致虚假ER_DEBUG_SYNC_TIMEOUT 错误。(错误#14765080,错误#18221750)

  • 以下形式的语句破坏了基于行的复制,因为它创建了一个表,该表的数据类型字段的 BIGINT显示宽度为 3000,超出了最大可接受值 255:

    CREATE TABLE t1 AS SELECT REPEAT('A',1000) DIV 1 AS a;

    (错误#71179,错误#17994219)

  • CMake产生了关于 INTERFACE_LINK_LIBRARIES策略的无用警告。(错误#71089、错误#17905155、错误#17894997)

  • 在多个键值相同但尾随空格除外的情况下,更新可能无法更新所有适用的行。(漏洞 #69684,漏洞 #17156940)

  • 在 Windows 上,REPAIR TABLE对于 文件大于 4GB的表OPTIMIZE TABLE失败 。(漏洞 #69683,漏洞 #17235179)MyISAM.MYD

  • 修复了在 C++11 模式下编译时Clanggcc 报告的错误的编译问题 。(漏洞 #66803,漏洞 #14631159)

  • LOAD DATA LOCAL如果在没有行分隔符时发生导入错误,则可以使用所有 CPU。(错误#51840,错误#11759519)