Documentation Home
MySQL 5.6 发行说明  /  MySQL 5.6.32 的变化(2016-07-29,全面上市)

MySQL 5.6.32 的变化(2016-07-29,全面上市)

修正错误

  • 不兼容的更改: 对于多字节字符集,LOAD DATA可能无法正确分配空间并因此忽略输入行。

    此更改的结果是以前接受的无效字符数据现在被拒绝,如果您从没有此错误修复的旧服务器复制到具有此错误修复的较新服务器,这可能会导致问题。例如,如果接受无效utf8字符集数据的旧服务器通过此错误修复复制到较新的服务器,则较新的服务器将不会接受数据并且复制将失败并出现 无效的 utf8 字符串错误。此问题的解决方案包括:

    • 更正无效数据,使其对字符集正确

    • 使用数据不无效的不同字符集

    • 将 master 升级到修复了错误的版本,以便 master 和 slave 以相同的方式解释数据

    (错误#76237、错误#20683959、错误#23080148)

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

  • InnoDB: 全文搜索辅助表在被另一个会话访问时可能会被一个会话删除。(漏洞 #23742339)

  • InnoDB: 为已删除的表选择全文索引信息架构表导致分段错误。(漏洞 #23479595)

  • InnoDB: 全文索引同步操作的回滚引发了断言。回滚操作试图获取仍由后台同步线程持有的互斥量。(漏洞 #23320569)

  • InnoDB: 设置innodb_monitor_enableall未启用所有计数器。(漏洞 #22576241,漏洞 #80083)

  • 复制: 格式不正确的 server_uuid读入 auto.conf可能会导致意外停止。(缺陷号 21936933)

  • 复制: 发出PURGE BINARY LOGS 语句后,如果二进制日志索引文件不可用,例如因为它已被另一个应用程序(如 MEB)打开,服务器可能会意外停止。尽管这种情况很少见,但已使处理更加稳健以避免意外停止,并提供了更多信息性错误。(缺陷号 20381055)

  • 复制: 当使用基于行的复制和InnoDB时,当事务已经获得与语句类型相关的锁时,复制从属恢复为使用旧的锁定方案 ,从而降低了复制从属性能AUTOINC。此修复可确保为任何 DML 事件(例如 、 和 。(错误#79324,错误#22247668)LOAD FILEINSERT ... SELECTsql_commandWRITE_ROWS_EVENTUPDATE_EVENTDELETE_EVENT

  • 复制: 一个 MySQL 5.5 版本的从服务器没有一个 server_uuid复制标识的服务器 server_id。从 MySQL 5.6 版本开始,复制主服务器仅根据从服务器的 server_uuid值检测僵尸转储线程,假设每个从服务器都有唯一的 UUID。将 MySQL 5.5 从站连接到 MySQL 5.6 及更高版本的主站意味着主站无法检测到为服务运行早于 MySQL 5.6 的从站而创建的僵尸转储线程。该修复程序确保主服务器现在首先检查从服务器是否有一个 server_uuid集合。如果它被设置,僵尸转储线程检测基于从属的 UUID 发生。如果一个奴隶的server_uuid未设置,僵尸转储线程检测基于 server_id. (错误#77195,错误#21179199)

  • 复制:启用后,仍然存在未正确忽略 从slave_skip_errors站错误的特殊情况。例如:

    • 打开和锁定表失败。

    • 当字段转换在运行基于行的复制的服务器上失败时。

    在这些情况下,错误被认为是严重的,并且不尊重 的状态 slave_skip_errors。该修复程序确保 slave_skip_errors启用后,在应用事务期间报告的所有错误都得到正确处理。这意味着在这样的设置中,在收到log_warnings 选项设置为大于 1 的错误时,如果可以忽略该错误,则该警告将打印到错误日志中,并且服务器将继续执行,就像在其他忽略的情况下一样错误。(错误#70640,错误#17653275)

  • 复制: 当使用基于语句或混合二进制日志记录格式时 --read-only=ON,无法修改临时表。(缺陷 #62008,缺陷 #12818255)

    参考资料:另请参阅:Bug #14294223、Bug #16561483。

  • 当从 MySQL 5.5 Community 升级到 MySQL 5.6 Community 或 MySQL 5.5 Commercial 到 MySQL 5.6 Commercial 时,使用 RPM 包执行的 MySQL Server 升级失败。(缺陷号 23736787)

  • 用于从 Performance Schema 语句事件表(例如, events_statements_current)读取字符集信息的代码不会阻止同时写入该信息。结果,SQL 查询文本字符集可能无效,这可能导致服务器退出。现在无效的字符集会导致 SQL_TEXT列截断。(漏洞 #23540008)

  • 库中的缓冲区溢出regex是固定的。(漏洞 #23498283)

  • 的某些参数NAME_CONST() 可能导致服务器退出。(缺陷号 23279858)

  • 对于使用 MySQL 测试套件进行的单元测试,make unit-test命令不再可用。应改用ctest程序 。请参阅 MySQL Server Doxygen 文档,网址为 https://mysql.net.cn/doc/index-other.html。(漏洞 #23273434,漏洞 #81389)

  • ST_Distance()NULL可以对返回值提出断言。(缺陷号 22760390)

  • 启用查询缓存后,执行准备好的语句CURSOR_TYPE_READ_ONLY然后再次执行会CURSOR_TYPE_NO_CURSOR导致服务器返回错误。(缺陷 #22559575,缺陷 #80026)

  • mysql_real_connect()MYSQL_READ_DEFAULT_FILE在启用或 MYSQL_READ_DEFAULT_GROUP选项的情况下调用时不是线程安全的 。(缺陷 #22322504,缺陷 #79510)

  • yumzypper存储库安装 MySQL 导致 /var/log/mysqld.log使用不正确的用户和组权限创建。(错误#21879694,错误#78512)

  • 如果存储函数更新了一个视图,而视图表为其定义了一个更新另一个表的触发器,它可能会失败并报告现有表不存在的错误。(缺陷 #21142859,缺陷 #76808)

  • 如果INSTALL PLUGIN语句在共享库名称中包含无效的 UTF-8 字符,则会导致服务器挂起(或在调试版本中引发断言)。(错误#14653594,错误#23080148,错误#27167197)