对于高于 4.4 的 GCC 版本,
-fno-expensive-optimizations
已替换为-ffp-contract=off
,这具有启用更多优化的效果。感谢 Alexey Kopytov 提供的补丁。(漏洞 #24571672,漏洞 #82760)
MySQL 服务器现在包括一个插件库,使管理员能够在一定数量的连续连接尝试失败后增加服务器对客户端的响应延迟。此功能提供了一种威慑力,可以减缓试图访问 MySQL 用户帐户的暴力攻击。有关详细信息,请参阅 连接控制插件。
MySQL 企业版的企业加密现在使服务器管理员能够通过设置环境变量来限制最大密钥长度。这些可用于通过将非常长的密钥长度传递给密钥生成操作来防止客户端使用过多的 CPU 资源。有关详细信息,请参阅MySQL Enterprise 加密用法和示例。(漏洞#19687742)
RPM 包现在是
-DWITH_NUMA=ON
为支持 NUMA 的平台构建的:OEL 高于 EL5、Fedora、SLES、Docker。(缺陷号 24689078)
-
不兼容的更改: 这些更改是对mysqld_safe进行的:
在mysqld_safe中 不安全地使用rm和 chown 可能会导致特权升级。 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
对于诸如 massif或helgrind之类的值,无法使用 --valgrind-option=--tool=custom_tool 运行 mysql-test-run.pl,因为它添加了 其他工具可能无法理解的memcheck选项。此外, mysql-test-run.pl--callgrind
选项不起作用,因为它向callgrind--base
提供了无效选项 。感谢 Daniel Black 提供修复程序所基于的补丁。(漏洞 #23713613,漏洞 #82039)
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
表没有显示processlist
X 插件的统计信息。(漏洞 #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
。在删除通用分区处理程序之后,用于给定表的存储引擎将有望提供自己的(“本机”)分区处理程序,就像
InnoDB
和NDB
存储引擎目前所做的那样。目前,没有其他 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被调用
--daemonize
,stdout
并且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_CONSTRAINTS
外NULL
键约束名(UNIQUE_CONSTRAINT_NAME
(缺陷号 25126722)InnoDB: 准备好的 XA 事务被高优先级事务回滚。如果阻塞事务处于准备状态,则高优先级事务应该等待。(漏洞 #25032066)
InnoDB:
InnoDB
传递了一个无效的参数给syscall(SYS_futex)
. (漏洞 #24923840,漏洞 #83375)InnoDB: GCC
mach_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_INDEX
NOT 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
变量正在内部动态构建,hostname
该relay_log_basename
变量。当从服务器试图访问这个未初始化的变量时,会导致服务器意外停止。(漏洞#24352667)复制: 对于使用 yaSSL 构建的服务器,使用具有加密连接的组复制可能会导致等待视图传递的超时失败。(漏洞#23592214)
复制:使用基于行的复制 () 时,不会更新仅存在于从服务器上的 具有特殊
DEFAULT
列(例如 。(缺陷号 22916743)DEFAULT CURRENT_TIMESTAMP
binlog_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 DIRECTORY
INDEX DIRECTORY
ALTER TABLE
FILE
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
仅在构建libmysqlclient
和libmysqld
. 有关构建InnoDB
memcached 插件的信息已删除。(漏洞 #24908345,漏洞 #83409)为了更好地提供原子文件创建,Debian 打包脚本现在使用 coreutils install命令而不是touch、chmod和 chown。(缺陷号 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()
. 后者自glibc
2.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 BY
and 的查询LIMIT
,优化器跟踪没有记录优化器切换到不同的索引。(缺陷 #23227428,缺陷 #81250)对于一些深度嵌套的表达式,优化器未能检测到堆栈溢出,导致服务器退出。(缺陷号 23135667)
由于尝试截断 Performance Schema 表时出错,模式功能不适用于已启用或具有启用
sys
权限ps_truncate_all_tables()
的read_only
用户SUPER
。super_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 INDEX
TEXT
由于对-type 列(TINYTEXT
等等) 的索引前缀长度的处理不一致,操作可能会失败 。此修复的结果是 指定索引前缀超过最大列数据类型大小的语句的
CREATE TABLE
行为 更具限制性:CREATE INDEX
对于非唯一索引,要么发生错误(如果启用了严格 SQL 模式),要么索引长度减少到位于最大列数据类型大小内并产生警告(如果未启用严格模式)。
对于唯一索引,无论 SQL 模式如何,都会发生错误,因为减少索引长度可能会启用不满足指定唯一性要求的非唯一条目的插入。
(漏洞 #22740093,漏洞 #80392)
-
innodb_numa_interleave
系统变量在某些未启用 NUMA 的系统上错误地可用 。感谢 Tomislav Plavcic 提供的补丁。CMake
WITH_NUMA
现在根据当前平台是否NUMA
支持设置默认 对于不支持 NUMA 的平台, CMake的行为如下:没有 NUMA 选项(正常情况), CMake正常继续,只产生这个警告:NUMA library missing or required version not available
使用
-DWITH_NUMA=ON
, CMake中止并出现此错误:NUMA 库丢失或所需版本不可用
(缺陷 #22678436,缺陷 #80288)
使服务器脱机时,性能模式中的竞争条件可能导致服务器退出。(漏洞 #22551677)
在 macOS 上,如果将具有关联触发器的表重命名为包含小写和大写字符的新名称,
DROP TRIGGER
则触发器会导致ER_NO_SUCH_TABLE
表出错。(缺陷 #22512899,缺陷 #79873)在
MYSQL_FIELD
C 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 上,从社区包升级到商业包期间会显示错误消息,这使得它看起来好像 mysqld和 my_print_defaults尚未安装。这些消息是虚假的,已被消音。(缺陷号 21807248)
WHERE
语句子句中的 无效字符串值UPDATE
导致使用索引扫描而不是范围扫描。对于索引中不存在的值,这可能会慢得多。现在优化器确定这是一个“不可能WHERE
”的条件。(缺陷 #21032418,缺陷 #76933)fread()
未检查调用 的返回值。(缺陷号 20671150)-
在这些条件下添加或列时 ,就地
ALTER TABLE
操作无法报告错误:a) 列是并且没有提供默认值;b)启用了严格模式和 SQL 模式;c) 桌子不是空的。DATE
DATETIME
NOT NULL
NO_ZERO_DATE
在这些条件下添加或列时,操作失败并 出现
ALTER TABLE
错误而不是警告 :a) 列是并且没有提供默认值;b) 启用严格SQL模式,未启用SQL模式;c) 桌子不是空的。(漏洞 #16888677)DATE
DATETIME
NOT NULL
NO_ZERO_DATE