Documentation Home
MySQL 5.7 发行说明  /  MySQL 5.7.26 的变化(2019-04-25,正式发布)

MySQL 5.7.26 的变化(2019-04-25,正式发布)

从 MySQL 5.7.26 开始,Oracle 不再为 SUSE 11 提供二进制文件。

弃用和移除说明

包装说明

  • libevent与 MySQL 捆绑 的库已升级到版本 2.1.8。(错误#28207237、错误#29041505、错误#29055011)

安全说明

  • MySQL Commercial Server 的链接 OpenSSL 库已更新至版本 1.0.2r。http://www.openssl.org/news/vulnerabilities.html中描述了新 OpenSSL 版本中修复的问题 。

    此更改不影响 Oracle 生成的 MySQL Community 构建的 MySQL Server,它使用 yaSSL 库。(漏洞 #28988091)

修正错误

  • InnoDB: 优化InnoDB后的内部临时表不支持in-placeUPDATE操作,导致delete-marked记录数不断增加。大量删除标记的记录可能导致比预期的查询执行时间更长。(漏洞 #29207450)

  • InnoDB: 未存储生成列的基本列信息。(漏洞 #29021730)

  • InnoDB:由于最近对该设置进行了修改, 与该设置相关的断言代码 不再有效。断言代码已修改。(缺陷号 29007731)innodb_flush_method O_DIRECT_NO_FSYNC

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

  • InnoDB:删除了innochecksum 实用程序中 发现的内存泄漏(缺陷 #28917614,缺陷 #93164)

  • InnoDB: 尝试在虚拟列上创建索引失败后的 DDL 操作导致断言失败。(漏洞#28825718)

  • InnoDB: Linux AIO 处理函数无法检查已完成的 I/O 事件是否成功。感谢赵薇的贡献。(缺陷 #27850600,缺陷 #90402)

  • InnoDB:线程 调用的函数CREATE TABLE在后台线程释放后试图访问表对象。

    感谢炎黄的补丁。(缺陷 #27373959,缺陷 #89126)

  • InnoDB: 两个会话同时执行一个INSERT ... ON DUPLICATE KEY UPDATE操作产生了死锁。在元组的部分回滚期间,另一个会话可以更新它。此错误的修复恢复了错误 #11758237、错误 #17604730 和错误 #20040791 的修复。(缺陷号 25966845)

  • InnoDB: 当用于访问连接表的方法为 时 constInnoDB 多次尝试解锁匹配行。(缺陷号 20939184)

  • InnoDB:添加索引时未更新 的INDEX_LENGTHINFORMATION_SCHEMA.TABLES(漏洞 #19811005)

  • 分区:通过在每个分区上使用重新启动的语句 将AUTO_INCREMENT键添加到分区表(漏洞 #92241,漏洞 #28573894)ALTER TABLEALGORITHM=INPLACE

  • 复制: 如果该WAIT_FOR_EXECUTED_GTID_SET()函数与包含小数部分(例如1.5,例如, 0.1)。现在已更正转换逻辑,以便按最初指定的方式应用超时值,不进行舍入。感谢 Dirkjan Bussink 的贡献。(缺陷 #29324564,缺陷 #94247)

  • 复制: 根据 的值 group_replication_exit_state_action,退出组的成员的行为不一致。为了协调退出组的成员的行为,而不考虑错误情况,现在当成员 group_replication_exit_state_action=READ_ONLY 无意中退出组 super_read_only将恢复成员启动时的模式。这使得行为与具有 的成员的行为一致 group_replication_exit_state_action=ABORT_SERVER。(错误#28971639,错误#28526591)

  • 复制: 如果应用程序线程在打开表的过程中停止,则不会设置任何错误,这可能会导致分段错误或断言,具体取决于构建类型。在这种情况下,现在可以正确激活错误处理。(漏洞#28864557)

  • 复制: 在服务器上使用 GTID 时,每次主服务器使用自动跳过功能跳过事务时,复制从服务器上的主服务器信息日志都会同步。该过程以发送到从站并导致对日志进行强制刷新的虚拟心跳结束,这可能会对从站上的写入负载产生巨大的累积影响。同样的问题可能发生在循环复制拓扑中,事件源自同一服务器并因此被忽略,这些事件也由从服务器通过强制刷新日志来处理。从处理代码现在已经更改为删除心跳事件和通过循环复制接收到的忽略事件的强制刷新, CHANGE MASTER发出语句,或旋转二进制日志)。(漏洞 #28815555,漏洞 #85158)

  • 复制: 在配置为单主模式(group_replication_single_primary_mode=ON,这是默认设置)的复制组中,如果严重的网络延迟影响了组,则主节点和辅助节点可能对事务做出不同的决定,这可能导致分歧在gtid_executed成员集上。该问题现已解决。(错误#28768550、错误#28966455、错误#92690)

  • 复制: GRANT写入二进制日志的语句在某些情况下被错误记录,这可能导致在GRANT 主服务器上成功执行的语句导致复制从服务器出错。(错误#28643405、错误#29155451、错误#93750)

  • Replication: 如果一个存储引擎有能力记录 STATEMENTformat但没有 ROWformat,当 binlog_format设置为 STATEMENT,应该记录一个不安全的SQL语句,并且应该在错误日志中写入一条警告信息。但是,这样的语句并没有被执行,错误消息被写入错误日志,这binlog_format是设置为MIXEDROW。该问题现已得到纠正,当 binlog_format设置为 STATEMENT。(错误#28429993,错误#73936)

  • 复制: 在过载的服务器上,当成员加入组时,VIEW_CHANGE_LOG_EVENT 标记该点的事件可能没有记录在正确的位置。这可能会导致向新加入的服务器传输数据时出现错误和数据分歧。现在, VIEW_CHANGE_LOG_EVENT事件记录在二进制日志中的正确位置。此外,还会记录有关事件记录延迟的警告。(漏洞 #93347,漏洞 #28971594)

  • Microsoft Windows:系统变量 的有效性测试 named_pipe_full_access_group 未考虑NULL 值。(漏洞 #29256690)

  • authentication_ldap_simple插件可能会错误地强制执行身份验证。(漏洞#29637712)

  • 在 Fedora 29 平台上, compat-openssl10-devel构建依赖更改为openssl-devel. (漏洞#29278747)

  • 如果CMake发现一个libtirpc 库太旧而无法与 MySQL 一起使用,它会尝试使用 Sun RPCglibc代替。(缺陷号 29240701)

  • 使用该--users选项, mysqlpump向输出写入CREATE USERGRANT语句,但为时已晚,无法应用于由转储创建的其他对象。因此,恢复创建用户帐户的转储文件为时已晚,无法应用于该文件创建的其他对象。 mysqlpump现在在其他对象之前将用户帐户写入转储文件。(缺陷号 29023216)

  • 损坏的mysql.user表可能导致服务器退出。(缺陷号 28986737)

  • CMake对标头 的检查tirpc 现在回退到使用pkgconfig, 以便能够在更多 Linux 平台上查找标头。这需要安装pkgconfig。(错误#28970313、错误#93341、错误#28997093)

  • 在准备好的语句执行期间可能会尝试访问空指针。(漏洞#28692136)

  • 如果Aborted_connects连接由 thread_pool插件管理,则状态变量不会因连接尝试失败而增加。(缺陷号 28490126)

  • mysqladmin shutdown没有等待 mysqld关闭。(缺陷 #28466137,缺陷 #91803)

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

  • 执行短路评估查询的存储过程的重复调用并不总是得到正确处理。(缺陷号 28379655)

  • 密钥环迁移应该只需要对源密钥环的读取权限,但除非用户具有写入权限,否则失败。(缺陷号 28339014)

  • 如果执行密钥环迁移的用户没有对密钥环文件的写入权限,则迁移失败但在其最终错误日志消息中报告成功。(缺陷号 28330922)

  • FLUSH STATUS执行期间,Performance Schema 不必要地将会话状态聚合到全局状态,导致某些状态变量的重复计数。(缺陷 #28291258,缺陷 #91541)

  • 某些状态变量值可能会在恢复到原始值之前暂时增加。(缺陷 #27839644,缺陷 #90351)

  • 执行ALTER INSTANCE ROTATE INNODB MASTER KEY密钥并将其从 keyring_file插件迁移到 keyring_encrypted_file插件可能会使加密表无法使用。(漏洞#27760952)

  • udf_example二进制分发版中省略 了可加载函数的二进制文件。(错误#26115002,错误#29178542)

  • 当服务器在 skip_name_resolve启用系统变量的情况下启动时,虚假警告可能会写入错误日志,内容是关于忽略主机名部分为 localhost. (事实上​​,这些帐户已被使用且未被忽略。)(Bug #23329861,Bug #81441)

  • 在客户端连接活动的同时安装和卸载插件可能会导致服务器退出。(缺陷号 22980441)

  • 一些涉及复杂连接的查询会泄露文件句柄。(缺陷 #90902,缺陷 #28039829)

  • Ubuntu 14.04 和 SLES 11 已停产,不再受支持。