Documentation Home
MySQL 5.7 发行说明  /  MySQL 5.7.17 的变化(2016-12-12,全面上市)

MySQL 5.7.17 的变化(2016-12-12,全面上市)

编译笔记

  • 对于高于 4.4 的 GCC 版本, -fno-expensive-optimizations已替换为 -ffp-contract=off,这具有启用更多优化的效果。感谢 Alexey Kopytov 提供的补丁。(漏洞 #24571672,漏洞 #82760)

连接管理说明

  • MySQL 服务器现在包括一个插件库,使管理员能够在一定数量的连续连接尝试失败后增加服务器对客户端的响应延迟。此功能提供了一种威慑力,可以减缓试图访问 MySQL 用户帐户的暴力攻击。有关详细信息,请参阅 连接控制插件

MySQL 企业笔记

  • MySQL 企业版的企业加密现在使服务器管理员能够通过设置环境变量来限制最大密钥长度。这些可用于通过将非常长的密钥长度传递给密钥生成操作来防止客户端使用过多的 CPU 资源。有关详细信息,请参阅MySQL Enterprise 加密用法和示例。(漏洞#19687742)

包装说明

  • RPM 包现在是 -DWITH_NUMA=ON为支持 NUMA 的平台构建的:OEL 高于 EL5、Fedora、SLES、Docker。(缺陷号 24689078)

安全说明

  • 不兼容的更改: 这些更改是对mysqld_safe进行的:

    • mysqld_safe中 不安全地使用rmchown 可能会导致特权升级。 chown now 只能在目标目录为. 一个不兼容的变化是,如果 Unix 套接字文件的目录丢失,则不再创建它;相反,会发生错误。由于这些更改, /bin/bash需要 在 Solaris 上运行mysqld_safe 。/bin/sh仍在其他 Unix/Linux 平台上使用。 /var/log

    • --ledir选项现在仅在命令行中被接受,而不是在选项文件中。

    • mysqld_safe忽略当前工作目录。

    其他相关变化:

    • 调用 mysqld_safe的初始化脚本显式传递 --basedir

    • 仅当基本目录为/var/log或 时,初始化脚本才会创建错误日志文件/var/lib

    • 删除了 SLES 未使用的 systemd 文件。

    (错误#24483092、错误#25088048、错误#25378439、错误#25378565)

    参考资料:另请参阅:Bug #24464380、Bug #24388753、Bug #24619033、Bug #82920。

  • OpenSSL 将于 2016 年 12 月结束对版本 1.0.1 的支持;请参阅 https://www.openssl.org/policies/releasestrat.html。因此,MySQL Commercial Server 构建现在使用 1.0.2 版而不是 1.0.1 版,并且 MySQL Commercial Server 的链接 OpenSSL 库已从 1.0.1 版更新到 1.0.2j 版。有关此版本中修复的问题的说明,请参阅 https://www.openssl.org/news/vulnerabilities.html

    此更改不影响 Oracle 生成的 MySQL Community 构建的 MySQL Server,它使用 yaSSL 库。

测试套件说明

  • custom_tool对于诸如 massifhelgrind之类的值,无法使用 --valgrind-option=--tool=custom_tool 运行 mysql-test-run.pl,因为它添加了 其他工具可能无法理解的memcheck选项。此外, mysql-test-run.pl --callgrind选项不起作用,因为它向callgrind--base提供了无效选项 。感谢 Daniel Black 提供修复程序所基于的补丁。(漏洞 #23713613,漏洞 #82039)

X 插件说明

  • X Plugin 调用主机名解析函数时发生故障。(错误#25652096,错误#85154)

  • stmt字段在消息中被标记为 required

    message Mysqlx.Crud.ModifyView {
       required Collection collection = 1;
    
       optional string definer = 2;
       optional ViewAlgorithm algorithm = 3;
       optional ViewSqlSecurity security = 4;
       optional ViewCheckOption check = 5;
    
       repeated string column = 6;
       required Mysqlx.Crud.Find stmt = 7;
    }

    (缺陷 #24968735,缺陷 #83595)

  • 对于使用 创建的表CREATE TABLE foo (doc JSON),该语句list_objects 错误地将表报告为集合。(漏洞 #24963952)

  • 当两个 X Plugin 实例在同一端口上启动时,生成的错误消息分为两行并包含重复信息。(漏洞 #24679018,漏洞 #83008)

  • performance_schema.threads表没有显示processlistX 插件的统计信息。(漏洞 #24638038)

  • 如果客户端向服务器发送未知消息类型,服务器将发回错误消息,然后断开客户端。(错误#24611754,错误#82868)

  • 当客户端发送零长度消息时,X 插件没有发送响应。对于后续消息,客户端收到错误E_X_BAD_MESSAGE并断开连接,具体取决于标头内容。(缺陷 #24595459,缺陷 #82862)

  • X Plugin 向任何连接的用户显示其版本,包括那些未通过身份验证的用户。(错误#24562707,错误#82784)

  • 当 X 插件无法绑定时, @@GLOBAL.mysqlx_port它不会在全局状态变量中指示此失败。(漏洞 #24554351,漏洞 #82761)

  • 该语句为数据库list_objects中的某些视图返回了不正确的信息。sys(漏洞#24472325)

  • X Plugin 试图将结果集发送到客户端,即使连接已关闭。如果连接被重置,插件现在会停止执行存储过程。(缺陷号 24440344)

添加或更改的功能

  • 不相容的变化;分区: MySQL 服务器中的通用分区处理程序已弃用,并将在 MySQL 8.0 中删除。作为此更改的一部分, mysqld --partition--skip-partition选项以及 -DWITH_PARTITION_STORAGE_ENGINE 构建选项也已弃用,稍后将被删除;分区将不再显示在 INFORMATION_SCHEMA.PLUGINS表中或 的输出中SHOW PLUGINS

    在删除通用分区处理程序之后,用于给定表的存储引擎将有望提供自己的(本机)分区处理程序,就像InnoDBNDB存储引擎目前所做的那样。目前,没有其他 MySQL 存储引擎提供本机分区支持,也没有计划在 MySQL 的当前版本或开发版本中为任何其他存储引擎提供支持。

    使用具有非本机分区的表现在会导致 ER_WARN_DEPRECATED_SYNTAX 警告。此外,服务器在启动时执行检查以识别使用非本机分区的表;对于任何发现,服务器都会将消息写入其错误日志。要禁用此检查,请使用该 --disable-partition-engine-check 选项。

    为了准备迁移到 MySQL 8.0,任何具有非本机分区的表都应更改为使用提供本机分区的引擎,或者使其成为非分区的。例如,要将表更改为InnoDB,请执行以下语句:

    ALTER TABLE table_name ENGINE = INNODB;
  • InnoDB: 默认情况下,InnoDB在计算统计时读取未提交的数据。在从表中删除行的未提交事务的情况下, InnoDB在计算行估计和索引统计信息时排除被删除标记的记录,这可能导致同时使用表操作的其他事务的非最佳执行计划以外的事务隔离级别 READ UNCOMMITTED。为了避免这种情况, innodb_stats_include_delete_marked可以启用一个新的配置选项,以确保InnoDB在计算持久优化器统计信息时包括删除标记的记录。(缺陷号 23333990)

  • mysqld 的 systemd 服务文件现在在部分中包含一个Documentation值, [Unit]以提供指向 MySQL 参考手册中 systemd 文档的链接。(漏洞 #24735762)

  • 单元测试现在使用 Google Mock 1.8。(缺陷 #24572381,缺陷 #82823)

  • 如果mysqld被调用 --daemonizestdout并且 stderr被重定向到 /dev/null如果连接到终端类型的设备,那么mysqld可以作为一个真正的守护进程。(缺陷号 21627629)

  • MySQL Group Replication 是一个新的 MySQL 插件,它使您能够跨一组 MySQL 服务器实例创建高度可用的分布式 MySQL 服务,并内置数据一致性、冲突检测和解决以及组成员服务。通过使用提供流行的 Paxos 算法实现的强大的新组通信服务,MySQL 服务器实例组自动协调数据复制、一致性和成员资格。这提供了使 MySQL 数据库高度可用所需的所有内置机制。

    默认情况下,Group Replication 在单主模式下运行,其中称为主的单个服务器实例接受写请求。该组中的其余服务器实例称为辅助服务器,充当主服务器的副本。如果主节点发生意外故障,将自动进行主节点选举过程,其中一个从节点被选为新的主节点。Group Replication 还支持虚拟同步的多主复制,但有一定的考虑和限制,它提供了随处更新的功能。在这种模式下,所有成员都是平等的,您可以在组中的所有 MySQL 服务器实例之间分配读取和写入。

    无论何种运行模式,Group Replication 都提供依赖于分布式故障检测的动态成员资格服务。服务器实例可以动态加入和离开组,您可以随时通过 Performance Schema 表查询组的成员列表。加入组的服务器实例通过执行自动时间点恢复自动将它们的状态与组同步,确保它们与组同步。

    MySQL Group Replication 的虚拟同步复制也是 MySQL 的完全集成部分,使用 InnoDB 存储引擎、性能模式表、标准 GTID 和众所周知的复制基础设施(二进制和中继日志、多源复制、多线程从属执行等) .),这使它成为现有 MySQL 用户熟悉和直观的体验,并且非常容易与 MySQL 的标准异步和半同步复制集成,允许您根据需要混合和匹配以创建各种复杂的复制拓扑。

修正错误

  • 不兼容的更改:LOAD DATA由于复制不兼容 ,MySQL 5.7.8 中用于处理多字节字符集的更改

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

  • NDB Cluster: MySQL NDB Cluster 在编译时遇到竞争条件 lex_hash.h。(错误#24931655、错误#83477、错误#27470071、错误#89482)

  • 创新数据库;Microsoft Windows: 在 Windows 上的 MySQL 64 位版本上,文件 I/O 重试结果由于缺少正确操作重试路径所必需的转换而被误解,导致断言失败和操作系统错误。(漏洞 #24711351)

  • InnoDB: 重启 服务器后表报INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTSNULL键约束名(UNIQUE_CONSTRAINT_NAME(缺陷号 25126722)

  • InnoDB: 准备好的 XA 事务被高优先级事务回滚。如果阻塞事务处于准备状态,则高优先级事务应该等待。(漏洞 #25032066)

  • InnoDB: InnoDB传递了一个无效的参数给 syscall(SYS_futex). (漏洞 #24923840,漏洞 #83375)

  • InnoDB: GCCmach_parse_compressed函数应该根据第一个字节的值加载一到五个字节。由于 GCC 错误,GCC 5 和 6 发出代码以在检查第一个字节值之前加载四个字节(GCC Bug #77673)。解决方法可防止此行为。感谢 Laurynas Biveinis 提供补丁。(漏洞 #24707869,漏洞 #83073)

  • InnoDB: 由于一个glibc错误,短暂的分离线程可能会在调用者从 返回之前退出 pthread_create(),从而导致服务器退出。感谢 Laurynas Biveinis 提供补丁。(缺陷 #24605956,缺陷 #82886)

  • InnoDB: 增加值 innodb_undo_logs并重新启动服务器后,在将撤消表空间分配给新分配的回滚段时,活动撤消表空间的数量没有增加。(漏洞 #24488141)

  • InnoDB: InnoDB在恢复过程中从双写缓冲区恢复页面时错误地报告了有关缺少加密的错误。(漏洞#24471076)

  • InnoDB: 在缓慢关闭期间,缓存的撤消段未从回滚段历史记录中删除。(漏洞 #24450908)

  • InnoDB:GEN_CLUST_INDEX由于使用无效键名调用的错误, 在仅生成聚集索引 () 的表上进行表重建操作期间出现错误(漏洞 #24444831)

  • InnoDB: 当服务器处于只读模式时旋转表空间加密主密钥引发断言而不是显示错误消息。(漏洞 #24404091)

  • InnoDB: 在没有显式定义主键的表上, 列上定义了唯一键时InnoDB没有替换隐式聚集索引((缺陷号 24397406)GEN_CLUST_INDEXNOT NULL

  • InnoDB: 涉及外键约束检查的高优先级事务无法终止低优先级阻塞事务。(漏洞#24347476)

  • InnoDB: 页面清理器线程由于与自适应哈希索引功能相关的回归而断言。(缺陷号 24346574)

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

  • InnoDB: InnoDB无法释放全文优化器线程使用的内存。(漏洞 #24331265)

  • InnoDB: 添加新索引时,服务器删除了内部定义的外键索引,并试图使用虚拟生成列上定义的二级索引作为外键索引,导致服务器退出。InnoDB现在允许外键约束引用在虚拟生成列上定义的二级索引。(缺陷号 23533396)

  • InnoDB:由于并发表空间创建操作 的INFORMATION_SCHEMA.FILES竞争条件,查询导致服务器退出。(漏洞 #23477214,漏洞 #81614)

  • InnoDB:对具有索引虚拟列的表进行 表复制联机ALTER TABLE操作 ROW_FORMAT=REDUNDANT(缺陷号 22018745)

  • InnoDB: SHOW ENGINE INNODB STATUS输出显示 空闲线程处于“清理状态。线程状态信息在语句执行后未重置。(缺陷 #21974225,缺陷 #78777)

  • InnoDB: 服务器重启后,并发 INSERT操作自增主键表出现重复录入错误。当前自动增量值在修改设置后没有 auto_increment_increment改变 auto_increment_offset。(缺陷 #20989615,缺陷 #76872)

  • 复制: 当使用 XA 事务时,如果复制从属服务器上的应用程序 (SQL) 线程发生锁定等待超时或死锁,则自动重试不起作用。原因是当 SQL 线程执行回滚时,它不会回滚 XA 事务。这意味着当事务被重试时,第一个事件是XA START无效的,因为 XA 事务已经在进行中,导致XAER_RMFAIL错误。(缺陷号 24764800)

    参考资料:另请参阅:Bug #83588、Bug #24923091、Bug #24966941。

  • 复制: GTID 的组提交更新已经过重构,以提高具有许多小事务的工作负载的性能。(缺陷号 24398760)

  • 复制: 如果relay_log未在配置文件中指定该选项,则该 relay_log_basename变量正在内部动态构建, hostnamerelay_log_basename变量。当从服务器试图访问这个未初始化的变量时,会导致服务器意外停止。(漏洞#24352667)

  • 复制: 对于使用 yaSSL 构建的服务器,使用具有加密连接的组复制可能会导致等待视图传递的超时失败。(漏洞#23592214)

  • 复制:使用基于行的复制 () 时,不会更新仅存在于从服务器上的 具有特殊DEFAULT列(例如 。(缺陷号 22916743)DEFAULT CURRENT_TIMESTAMPbinlog_format=ROW

  • 复制:在中间步骤中失败 的XA PREPARE语句可能导致不一致的 XA事务状态,其中 ID= -1 但binlogged 标志设置为true. XA COMMIT这导致在执行和XA ROLLBACK查询时断言(漏洞 #22915670)

  • 复制: 当服务器处于提交阶段时启用半同步复制可能会导致主服务器意外停止。这与 Bug# 75570 的补丁有关。(Bug #22202516)

  • 复制: 减少了复制到从站的二进制日志文件中生成的不需要的 fseeks 的数量。(漏洞 #83226,漏洞 #24763579)

  • 复制: 针对 Bug #81657 的修复未正确合并到 MySQL 8.0 中。感谢 Laurynas Biveinis 提醒我们。(缺陷 #83124,缺陷 #24715790)

  • 复制: 测试rpl.rpl_binlog_errors在 Windows 上偶尔会失败。(漏洞 #82302,漏洞 #24330138)

  • Replication:binlog_group_commit_sync_delay 被设置为1到9之间的值时,如果 binlog_group_commit_sync_no_delay_count 被设置为大于1的值,并且事务提交的数量小于 binlog_group_commit_sync_no_delay_count,如果没有收到更多的提交,这些提交将永远挂起;如果 binlog_group_commit_sync_no_delay_count 设置为 0,则所有事务提交将永远挂起。(缺陷 #80652,缺陷 #22891628)

  • 复制: 启动半同步复制时,如果存在超过 1024 个文件描述符,则半同步套接字未正确创建。这阻止了半同步复制的正常运行。(错误#79865,错误#23581389)

  • JSON: 当一个JSON值由包裹在许多级别的 JSON 数组、对象或两者中的大型子文档组成时,JSON 值的序列化有时需要过多的时间才能完成。(漏洞 #23031146)

  • 一些 Linux 启动脚本没有 datadir正确处理设置。(漏洞 #25159791)

  • CREATE TABLE如果或被明确指定为表或分区选项, 现在需要 FILE特权。如果任一选项被明确指定为分区选项,则需要 特权(如果指定为表选项,它将忽略它们)。(漏洞 #25092566)DATA DIRECTORYINDEX DIRECTORYALTER TABLEFILE

  • CMake现在避免 -fexpensive-optimizations为 GCC 版本配置选项,该选项会触发错误的移位或优化。(漏洞 #24947597,漏洞 #83517)

  • OEL RPM 包现在可以更好地检测哪些平台具有多库支持(可以安装 32 位和 64 位库)。感谢 Alexey Kopytov 提供的补丁。(漏洞 #24925181,漏洞 #83457)

  • OEL RPM 包现在可以更好地检测哪些平台没有多库支持(可以安装 32 位和 64 位库)。感谢 Alexey Kopytov 提供的补丁。(错误#24916428,错误#83428)

  • 有关在 MySQL 5.7 及更高版本文件中构建 MySQL 5.6 兼容性库的信息.spec仅在构建libmysqlclientlibmysqld. 有关构建 InnoDBmemcached 插件的信息已删除。(漏洞 #24908345,漏洞 #83409)

  • 为了更好地提供原子文件创建,Debian 打包脚本现在使用 coreutils install命令而不是touchchmodchown。(缺陷号 24688682)

  • 对于 SLES 包,安装脚本后同步码中的拼写错误阻止了某些清理工作的进行。(漏洞 #24605300,漏洞 #82389)

  • 期间发生的警告CREATE TABLE ... SELECT可能会导致服务器退出。(漏洞 #24595992)

  • 对于LOAD DATA语句,具有太多列值的输入数据只会产生警告,而不是像 MySQL 5.6 中那样产生错误。现在发生错误。(漏洞 #24577194,漏洞 #82830)

  • 对于 FreeBSD 上的分段错误,服务器没有生成堆栈跟踪。(错误#24566529、错误#23575445、错误#81827)

  • .mylogin.cnf选项文件旨在供客户端程序使用,但服务器也在读取它。服务器不再读取它。(漏洞 #24557925)

  • X 插件是使用不同于其他插件的编译选项构建的。(漏洞 #24555770,漏洞 #82777)

  • 如果mysqladmin shutdown在确定服务器进程 ID 文件时遇到错误,它会显示一条错误消息,但没有明确指出该错误是非致命错误。它现在表示执行继续。(缺陷号 24496214)

  • 用于ZEROFILL列的数据结构可能会遇到内存损坏,最终导致服务器退出。(漏洞 #24489302)

  • mysql-multi.server.sh脚本 的运行基于my.cnf数据目录。该选项文件不再使用,因此 mysql-multi.server.sh已被删除。(漏洞 #24487870)

  • 使用非常长的子分区名称可能会导致服务器退出。现在,大于 64 个字符的分区或子分区名称会产生 ER_TOO_LONG_IDENT错误。(漏洞 #24400628,漏洞 #82429)

  • 复制构造Gis_wkb_vector<Gis_point>函数未显式实例化,导致英特尔编译器出现构建问题。(漏洞 #24397833,漏洞 #82358)

  • 从 MySQL 5.6 升级到 5.7.13,然后升级到 5.7.14 导致 mysql.slave_master_info系统表中的列顺序不正确。(漏洞 #24384561,漏洞 #82384)

  • Ubuntu 软件包安装的 AppArmor 配置文件缺少允许libnuma读取 /sys层次结构路径的条目,导致服务器启动失败。(漏洞 #23854929)

  • 对于列表使用包含连接的子查询为第二行或后面的行生成值的INSERT语句,服务器可能会在无法解析所需权限后退出。VALUES(缺陷号 23762382)

  • audit_log如果插件在处理错误时发出错误信号, 则可能会发生无限递归 。(漏洞 #23717558,漏洞 #82052)

  • MySQL 现在使用readdir()而不是 readdir_r(). 后者自glibc2.24 以来已被弃用,并导致 MySQL 的调试构建和使用 GCC 6.1 的构建失败。

    此外,导致 GCC 6.1 编译器警告的几个问题已得到纠正。(错误#23708395、错误#24437737、错误#82515、错误#24459890、错误#82583、错误#25103242)

  • 对于连接类中的审核日志事件,该 connection_type值仅适用于连接事件。该值现在可用于连接、断开连接和更改用户事件。(漏洞 #23541550)

  • 在 Solaris 上,gettimeofday()可能返回无效值并导致服务器关闭。(缺陷号 23499695)

  • keyring_file文件不存在时,插件可能会尝试将密钥写入其存储文件。为确保仅当存在正确的存储文件时才刷新密钥,keyring_file现在将密钥环的 SHA-256 校验和存储在文件中。在更新文件之前,插件会验证它是否包含预期的校验和。(缺陷号 23498254)

  • START GROUP REPLICATION使用堆栈 Srv_session并没有返回到正确的线程。START GROUP REPLICATION并且 STOP GROUP REPLICATION现在已从允许的命令列表中删除。(缺陷号 23337984)

  • 导致元组大于 max_join_size可能导致服务器退出的联合查询。(漏洞 #23303485)

  • 对于调试版本,无法准备 XA 事务的分支可能会导致服务器退出。(漏洞 #23264552,漏洞 #81375)

  • 优化器可以选择 ref访问二级索引而不是range 访问主键,即使成本更高。(漏洞 #23259872,漏洞 #81341)

  • 对于带有ORDER BYand 的查询LIMIT,优化器跟踪没有记录优化器切换到不同的索引。(缺陷 #23227428,缺陷 #81250)

  • 对于一些深度嵌套的表达式,优化器未能检测到堆栈溢出,导致服务器退出。(缺陷号 23135667)

  • 由于尝试截断 Performance Schema 表时出错,模式功能不适用于已启用或具有启用sys权限 ps_truncate_all_tables()read_only 用户 SUPERsuper_read_only服务器现在跳过 read_only/super_read_only 检查 Performance Schema 表,结果 ps_truncate_all_tables()将在此类配置下工作。(缺陷 #23103937,缺陷 #81009)

  • 对于通过 X 插件创建的会话,不正确的线程附加/分离可能会导致服务器退出。(缺陷号 23057045)

  • OS X DMG 安装程序未正确设置密钥环插件安装。(漏洞 #22991650)

  • 从 MySQL 5.6 二进制(就地)升级到 5.7,然后使用mysqlpump执行数据导出 导致尝试重新加载转储文件时出错。(漏洞 #22919028,漏洞 #80706)Invalid default value for date_column

  • 通过 X 插件执行的 SQL 语句未在性能模式中进行检测。(漏洞 #22859462)

  • DROP INDEXTEXT由于对-type 列(TINYTEXT等等) 的索引前缀长度的处理不一致,操作可能会失败 。

    此修复的结果是 指定索引前缀超过最大列数据类型大小的语句的 CREATE TABLE行为 更具限制性:CREATE INDEX

    • 对于非唯一索引,要么发生错误(如果启用了严格 SQL 模式),要么索引长度减少到位于最大列数据类型大小内并产生警告(如果未启用严格模式)。

    • 对于唯一索引,无论 SQL 模式如何,都会发生错误,因为减少索引长度可能会启用不满足指定唯一性要求的非唯一条目的插入。

    (漏洞 #22740093,漏洞 #80392)

  • innodb_numa_interleave 系统变量在某些未启用 NUMA 的系统上错误地可用 。感谢 Tomislav Plavcic 提供的补丁。

    CMakeWITH_NUMA现在根据当前平台是否NUMA支持设置默认 对于不支持 NUMA 的平台, CMake的行为如下:

    • 没有 NUMA 选项(正常情况), CMake正常继续,只产生这个警告:NUMA library missing or required version not available

    • 使用-DWITH_NUMA=ONCMake中止并出现此错误:NUMA 库丢失或所需版本不可用

    (缺陷 #22678436,缺陷 #80288)

  • 使服务器脱机时,性能模式中的竞争条件可能导致服务器退出。(漏洞 #22551677)

  • 在 macOS 上,如果将具有关联触发器的表重命名为包含小写和大写字符的新名称, DROP TRIGGER则触发器会导致ER_NO_SUCH_TABLE 表出错。(缺陷 #22512899,缺陷 #79873)

  • MYSQL_FIELDC API 结构中, org_table派生表的值为 *,这可能导致依赖于此值的查询失败。视图和派生表的org_table值现在设置如下:如果列是从视图中选择的,则org_table命名视图。如果列是从派生表中选择的,则 org_table命名基表。如果派生表包装视图,org_table仍会命名基表。如果列是表达式, org_table则为空字符串。(错误#22364401,错误#79641)

  • Performance Schema events_statements_summary_by_digest 表可以包含相同语句摘要和模式组合的多行,而不是预期的单个(唯一)行。(缺陷 #22320066,缺陷 #79533)

  • 对于 Performance Schema 系统和状态变量表,以不同于 的字符集表示的变量值 utf8可能会被截断或不正确。(漏洞 #22313205)

  • 如果使用临时表,则BLOB在基于 - 的类型 的列上分组并根据 、 或聚合函数的结果排序的查询 AVG()将以 VAR_POP()错误 STDDEV_POP()的顺序返回结果。InnoDB(缺陷 #22275357,缺陷 #79366)

  • 在 Ubuntu 上,从社区包升级到商业包期间会显示错误消息,这使得它看起来好像 mysqldmy_print_defaults尚未安装。这些消息是虚假的,已被消音。(缺陷号 21807248)

  • WHERE语句子句中的 无效字符串值UPDATE导致使用索引扫描而不是范围扫描。对于索引中不存在的值,这可能会慢得多。现在优化器确定这是一个不可能 WHERE的条件。(缺陷 #21032418,缺陷 #76933)

  • fread()未检查调用 的返回值。(缺陷号 20671150)

  • 在这些条件下添加或列时 ,就地ALTER TABLE操作无法报告错误:a) 列是并且没有提供默认值;b)启用了严格模式和 SQL 模式;c) 桌子不是空的。 DATEDATETIMENOT NULLNO_ZERO_DATE

    在这些条件下添加或列时,操作失败并 出现ALTER TABLE错误而不是警告 :a) 列是并且没有提供默认值;b) 启用严格SQL模式,未启用SQL模式;c) 桌子不是空的。(漏洞 #16888677)DATEDATETIMENOT NULLNO_ZERO_DATE