Documentation Home
MySQL 5.6 发行说明  /  MySQL 5.6.31 的变化(2016-06-02,全面上市)

MySQL 5.6.31 的变化(2016-06-02,全面上市)

包装说明

  • support-files/MacOSX/ReadMe.txt不再包含在 MySQL 发行版中。(缺陷 #81038,缺陷 #23088916)

  • INSTALL-SOURCE文件包含部分过时信息,已从源包中删除。(二进制包不受影响)。(缺陷 #80680,缺陷 #23081064)

安全说明

  • 用于 MySQL Commercial Server 的链接 OpenSSL 库已更新至版本 1.0.1t。有关此版本中修复的问题的说明,请参阅 http://www.openssl.org/news/vulnerabilities.html

    此更改不影响 Oracle 生成的 MySQL Community 构建的 MySQL Server,它使用 yaSSL 库。(缺陷号 23229564)

添加或更改的功能

  • 一个新的CMake选项, WITH_SYMVER16如果启用,会导致libmysqlclient客户端库包含额外的符号以与 libmysqlclientRHEL/OEL 5、6、7 和 Fedora 版本兼容。中出现的所有符号 libmysqlclient.so.16都标有 symver 16 in libmsqlclient.so.18,使这些符号同时具有 symver 16 和 18。(缺陷 #22980983)

  • MySQL 发行版中tcmalloc包含的库版本非常旧。它已被删除,不再包含在 MySQL 中。(缺陷 #80994,缺陷 #23068660)

修正错误

  • InnoDB: MySQL 无法使用 GCC 6 在 Fedora 24 上构建。(缺陷 #23227804)

  • InnoDB:针对InnoDB memcached插件 纠正了潜在的缓冲区溢出问题 (缺陷号 23187607)

  • InnoDB: 在后台索引缓存同步期间释放了全文索引缓存。(缺陷号 22996488)

  • InnoDB: 全文索引操作引发断言。(漏洞 #22963169)

  • InnoDB:INSERT对具有FULLTEXT索引和 的FTS_DOC_ID失败,因为插入的 值FTS_DOC_ID之间允许的间隙为避免此问题,最大已用值和新 FTS_DOC_ID之间允许的差距 从 10000 提高到 65535。(缺陷 #22679185)FTS_DOC_IDFTS_DOC_ID

  • InnoDB: 使用 innodb_autoinc_lock_mode=0,等待表级锁的多个线程导致意外死锁。(缺陷 #21983865,缺陷 #78761)

  • InnoDB: 一个 FLUSH TABLES ... FOR EXPORT操作似乎停止了。函数中的循环ibuf_contract_in_background 未能退出。(缺陷 #21133329,缺陷 #77011)

  • InnoDB: 一个全文查询提出了一个断言。在某些情况下,DDL 操作 ALTER TABLE ... RENAME会导致在服务器重启时删除全文辅助表。(漏洞 #13651665)

  • 复制: 在该next_event()函数中,从服务器的 SQL 线程调用以从中继日志中读取下一个 even,当 SQL 线程 relaylog.log_lock遇到错误时(例如,由于中继日志关闭),它没有释放它获取的,导致所有其他等待获取中继日志锁的线程挂起。通过此修复,锁在 SQL 线程离开函数之前被释放。(缺陷号 21697821)

    参考资料:另请参阅:Bug #20492319。

  • 复制: 在级联或循环复制设置中使用基于行的复制时,主服务器复制到服务器 1,然后复制到服务器 2,合并表未正确应用到服务器 2。这可能会导致意外停止服务器 2 而服务器 1 不受影响。(漏洞 #17018343)

  • 复制: 如果运行的多线程复制从站 relay_log_recovery=1意外停止,则在重新启动期间,中继日志恢复过程可能会失败。这是由于未填充事务不一致造成的,请参阅 处理副本服务器的意外停止。在此修复之前,要从这种情况中恢复需要手动设置 relay_log_recovery=0,启动从属 START SLAVE UNTIL SQL_AFTER_MTS_GAPS以修复任何事务不一致,然后重新启动从属 relay_log_recovery=1。这个过程现在已经自动化,可以在自动重启时启用多线程从站的中继日志恢复。(错误#77496,错误#21507981)

  • Microsoft Windows: 在 Windows 上,MySQL 安装可能导致 MySQL 被置于C:\Program Files\Canon\Easy-WebPrint EX. (漏洞 #14583183)

    参考资料:另请参阅:Bug #70918、Bug #68821、Bug #68227。

  • Microsoft Windows:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\在 Windows 上,如果 注册表项与键/值对 "InstallLocation"和 ,则 MySQL 安装失败 "\Hewlett-Packard\\"。(错误#74631,错误#19949163)

  • INSERT使用ON DUPLICATE KEY UPDATEREPLACE 在定义了外键约束的表上失败,出现不正确的重复输入错误,而不是违反外键约束的错误。(漏洞 #23135731)

    参考:此问题是 Bug #78853、Bug #22037930 的回归。

  • 对于调试版本,CONCAT_WS() 如果没有可追加的内容,则可以提出断言。(缺陷号 22888420)

  • 同时在多个线程中调用企业加密功能可能会导致服务器退出。(缺陷号 22839278)

  • 在创建和删除企业加密函数后尝试使用它们可能会导致服务器退出。(错误号 22669012)

  • 设置sort_buffer_size为非常大的值可能会导致某些操作因内存不足错误而失败。(缺陷号 22594514)

  • SELECT ... GROUP BY ... FOR UPDATE当由于使用松散索引扫描执行 的查询而发生死锁时,可能会引发断言 。(缺陷号 22187476)

  • 纠正了几个潜在的缓冲区溢出问题。(错误#21977380、错误#23187436、错误#23202778、错误#23195370、错误#23202699)

  • 如果提供给该 --ssl-ca选项的 CA 证书具有无效路径,则 yaSSL 会返回一条与 OpenSSL 不同的错误消息。现在双双返回SSL connection error: SSL_CTX_set_default_verify_paths failed。(缺陷号 21920657)

  • 一些字符串函数返回一个或多个参数的组合作为它们的结果。如果其中一个参数具有非 ASCII 字符集,则结果字符串具有相同的字符集,从而导致在需要 ASCII 字符串时出现不正确的行为。(漏洞#18740222)

  • 在 Fedora 24 上,由于 MariaDB 软件包发生变化,使用社区 MySQL 服务器 RPM 升级无法替换已安装的 MariaDB Galera 服务器。(漏洞 #81390,漏洞 #23273818)

  • MySQL 未使用 Sun Studio 在 Solaris 12 下编译。为更正此问题,实例__attribute__已更改为MY_ATTRIBUTE. (缺陷 #80748,缺陷 #22932576)

  • 对于使用 编译的服务器 -DWITH_PERFSCHEMA_STORAGE_ENGINE=0,在服务器启动期间使用的缓冲日志消息可能会发生内存泄漏。(漏洞 #80089,漏洞 #22578574)

  • 对于调试版本,将派生表合并到外部查询块中可能会引发断言。(错误#79502、错误#22305361、错误#21139722)

  • 在存储过程名称验证期间可能会发生解析器结构的空指针取消引用。(错误#79396,错误#22286421)

  • 使用或 身份验证插件CREATE USER创建帐户并使用表单的子句导致创建帐户时没有密码。(错误#78033,错误#21616496)mysql_native_passwordmysql_old_passwordIDENTIFIED WITH plugin AS 'hash_string'

  • 的失败UNINSTALL PLUGIN可能导致后续 INSTALL PLUGIN操作的错误或混淆错误。(错误#74977,错误#20085672)

  • mysqld_multi在无法执行 my_print_defaults时显示误导性错误消息。(错误#74636,错误#19920049)

  • mysqldump在执行时遇到错误时无提示地失败,没有错误消息 FLUSH LOGS。(错误#71783,错误#18284273)