已完成清理源代码库的工作,包括: 删除不需要的CMake检查;从源文件中删除未使用的宏;重组头文件以减少依赖项的数量并使它们更加模块化,删除没有定义的函数声明,用行业标准库中的等效函数替换本地编写的函数。
在 MySQL 5.7.6 中,该
PASSWORD()
函数已被弃用,但调用时没有产生警告。同样,old_passwords
系统变量已被弃用,但在设置时没有产生警告。(缺陷号 20545464)弃用的
IDENTIFIED BY PASSWORD
语法仅支持CREATE USER
andGRANT
,但ALTER USER
未能拒绝它。ALTER USER
现在产生语法错误。(错误#76048,错误#20600865)-
SET PASSWORD ... = PASSWORD(
语法在 MySQL 5.7.6 中被弃用,但被定为非法。此语法现在再次可用,但由于其已弃用状态而生成警告。这些替代方案仍然可用,其中第一个现在应被视为首选形式:'auth_string'
)ALTER USER ... IDENTIFIED BY 'auth_string'; SET PASSWORD ... = 'auth_string';
(错误#75927,错误#20552143)
在 MySQL 5.7.6 中,
NO_AUTO_CREATE_USER
已弃用。(最好使用CREATE USER
而不是 创建 MySQL 帐户GRANT
。)现在默认的 SQL 模式包括NO_AUTO_CREATE_USER
和分配给sql_mode
更改NO_AUTO_CREATE_USER
模式状态的分配会产生警告,但设置sql_mode
为 的分配除外DEFAULT
。NO_AUTO_CREATE_USER
将在未来的 MySQL 版本中删除,届时将始终启用其效果(GRANT
不会创建帐户)。
更多二进制分发类型的安装程序提供安全部署。这包括 SLES、Solaris、OS X、FreeBSD 和 Linux 通用二进制压缩 tar发行版的安装程序。
'root'@'localhost'
这些安装程序创建没有其他或匿名用户帐户的单个帐户root
,并且不创建test
任何用户都可以访问的数据库。(一些安装程序可能会提供创建其他帐户或测试数据库的选项,但前提是用户选择了该选项。)交互式运行的安装程序可以要求安装用户提供初始root
密码。非交互式安装程序随机生成root
管理员可用于首次连接到服务器并选择新密码的密码。
-
现在可以在单独的 SQL 语句中向优化器提供提示,这样可以比使用
optimizer_switch
系统变量更好地控制语句执行计划。优化器提示被指定为语句或查询块的, , , , 或 关键字/*+ ... */
之后的注释 。与 一起使用的语句中也允许使用提示 ,使您能够了解提示如何影响执行计划。例子:SELECT
INSERT
REPLACE
UPDATE
DELETE
EXPLAIN
SELECT /*+ NO_RANGE_OPTIMIZATION(t3 PRIMARY, f2_idx) */ f1 FROM t3 WHERE f1 > 30 AND f1 < 33; SELECT /*+ BKA(t1) NO_BKA(t2) */ * FROM t1 INNER JOIN t2 WHERE ...; SELECT /*+ NO_ICP(t1, t2) */ * FROM t1 INNER JOIN t2 WHERE ...; EXPLAIN SELECT /*+ NO_ICP(t1) */ * FROM t1 WHERE ...;
有关详细信息,请参阅优化器提示。
-
一些二进制分发类型已经变得更加模块化,以将测试组件拆分到一个单独的分发文件中。这减少了主要下载的大小。除了先前可用于 Windows Zip 存档、RPM 包和 Debian 包的测试/调试分发版之外,当前版本还为 Solaris PKG 文件以及通用二进制 Linux 和 OS X 压缩 的tar包提供了单独的测试分发版。这些单独的发行版在发行版文件名中 有“ test ” 。
通常,使用测试发行版需要同时安装主发行版。此外,对于 Solaris,主发行版和测试发行版必须用于相同版本的 MySQL。
参考资料:另请参阅:Bug #20613327、Bug #20546298。
-
和消费者
events_statements_history
现在events_transactions_history
默认启用。参考资料:另请参阅:Bug #71207、Bug #18376132。
-
以前,代理用户映射仅适用于为自己实现该功能的身份验证插件。MySQL 服务器本身现在可以根据授予的代理权限映射代理用户。如果
check_proxy_users
启用了新的系统变量,服务器会为任何请求它的身份验证插件执行代理用户映射。默认情况下,check_proxy_users
禁用,因此服务器不执行代理用户映射,即使对于请求它的身份验证插件也是如此。此外,修改了
mysql_native_password
内置sha256_password
身份验证插件以利用此服务器功能,因此现在能够支持代理用户。newmysql_native_password_proxy_users
和sha256_password_proxy_users
系统变量控制每个插件是否请求代理用户映射。默认情况下,这两个变量都被禁用,这会产生与以前版本向后兼容的行为。有关用户代理的信息,请参阅 代理用户。
-
如果服务器支持加密连接,C 客户端库现在默认尝试建立加密连接。这会影响客户端程序,如下所示:
在没有
--ssl
选项的情况下,客户端会尝试使用加密进行连接,如果无法建立加密连接,则会回退到未加密的连接。显式
--ssl
选项或同义词 (--ssl=1
,--enable-ssl
) 的存在是规定性的:客户端需要加密连接,如果无法建立则失败。通过
--ssl=0
选项或同义词 (--skip-ssl
,--disable-ssl
),客户端使用未加密的连接。
有关详细信息,请参阅 加密连接的命令选项。
此更改会影响这些标准的 MySQL 客户端程序: mysql、 mysql_config_editor、 mysql_install_db、 mysql_plugin、 mysql_secure_installation、 mysql_upgrade、mysqladmin、 mysqlbinlog、mysqlcheck、 mysqldump、mysqlimport、 mysqlshow和mysqlslap。它还将影响基于 C 客户端库的 MySQL 连接器的新版本:Connector/C、Connector/C++ 和 Connector/ODBC。
-
、
ST_Buffer()
、ST_Difference()
、ST_Distance()
、ST_Intersection()
、ST_IsSimple()
和 函数已重新实现以使用 Boost.Geometry 中可用的功能ST_SymDifference()
。ST_Union()
当以前的实现可能没有时,这些函数可能会引发无效几何参数值的异常。此外,
ST_Buffer()
现在最多需要三个可选参数来指定影响缓冲区计算的点、连接和结束策略。策略参数的值是使用新ST_Buffer_Strategy()
函数生成的。请参阅空间运算符函数。
-
MySQL 发行版现在包含
sys
架构,一组对象可帮助 DBA 和开发人员解释性能架构收集的数据。sys
模式对象可用于典型的调优和诊断用例。对于新安装,如果您将mysqld与 或 选项一起使用,或者如果您使用mysql_install_db
sys
, 则在数据目录初始化期间默认安装架构。为了允许抑制这种行为,mysql_install_db 现在有一个 选项。mysqld没有这样的选项,但是如果您使用mysqld --initialize(或 )而不是mysql_install_db初始化数据目录,则可以在不需要时在初始化后手动 删除 模式。--initialize
--initialize-insecure
--skip-sys-schema
--initialize-insecure
sys
对于升级,如果未安装模式, mysql_upgrade将安装
sys
模式,否则将其升级到当前版本。为了允许抑制这种行为,mysql_upgrade现在有一个--skip-sys-schema
选项。sys
如果模式存在但没有 视图,则mysql_upgrade返回错误version
,假设没有此视图表示用户创建的sys
模式。要在这种情况下升级,请先删除或重命名现有sys
架构。如果从早期版本升级到此 MySQL 版本,则必须运行mysql_upgrade来安装
sys
模式。有关详细信息,请参阅MySQL 系统架构。
-
重要变更;InnoDB:
InnoDB
对 配置选项默认值 进行了以下更改默认值已
innodb_file_format
更改为Barracuda
。以前的默认值为Antelope
. 此更改允许表格使用 压缩 或动态 行格式。默认值已
innodb_large_prefix
更改为ON
。以前的默认值是OFF
. 当innodb_file_format
设置为时,对于使用压缩 或动态 行格式 的表Barracuda
,innodb_large_prefix=ON
允许索引键前缀超过 767 字节(最多 3072 字节) 。默认值已
innodb_strict_mode
更改为ON
。以前的默认值是OFF
.innodb_strict_mode
启用时 ,InnoDB
在某些情况下引发错误条件,而不是发出警告和处理指定的语句(可能具有意外行为)。
上述配置参数默认更改可能会影响复制和mysqldump操作。使用新的默认设置时请考虑以下建议:
将mysqldump数据从较旧的 MySQL 版本 复制或 重放到 MySQL 5.7.7 或更高版本时,请考虑设置
innodb_strict_mode
为OFF
以避免错误。目标设置不应比源设置更严格。从 MySQL 5.7.7 或更高版本复制到较旧的从属服务器时,请考虑在从属服务器上设置
innodb_file_format=Barracuda
和innodb_large_prefix=ON
,以便目标和源具有相同的设置。
以下与文件格式相关的配置选项已弃用,并将在未来的 MySQL 版本中删除:
InnoDB
这四个配置选项是为了创建与MySQL 5.1 早期版本兼容的表而提供的 。现在 MySQL 5.1 已经到达其产品生命周期的末尾,不再需要这些选项。此外,文件格式方案在引入文件格式后不再使用,在添加新功能时将通过该方案引入命名文件Barracuda
格式。InnoDB
自引入Barracuda
文件格式以来,格式已更改,但尚未添加新命名的文件格式。如果非默认值用于四个已弃用选项中的任何一个,则将
InnoDB
弃用和删除警告打印到服务器错误日志中。如果使用SET
语句动态设置参数,则会向客户端发出相同的警告。 -
重要变更;InnoDB: 现在 默认启用
innodb_buffer_pool_dump_at_shutdown
和innodb_buffer_pool_load_at_startup
通过此更改,一定百分比的最近使用的缓冲池页面将在服务器关闭时转储并在服务器启动时恢复。此行为有助于避免在重新启动服务器后出现冗长的缓冲池预热期,特别是对于具有大型缓冲池的实例。该innodb_buffer_pool_dump_pct
选项定义了被转储的缓冲池页面的百分比。的默认值innodb_buffer_pool_dump_pct
从 100 减少到 25。这些配置选项默认值更改表示服务器关闭和启动时的行为更改。如果您更喜欢以前的默认值,建议您在升级到 MySQL 5.7.7 或更高版本后、重新启动服务器之前在 MySQL 配置文件中显式配置选项。
有关详细信息,请参阅 保存和恢复缓冲池状态。
重要变更;InnoDB: 默认
innodb_checksum_algorithm
值为 nowcrc32
。以前的默认设置是innodb
。此更改还意味着innodb_checksums=ON
现在等效于innodb_checksum_algorithm=crc32
而不是innodb_checksum_algorithm=innodb
.InnoDB: MeCab
InnoDB
全文解析器插件现在支持eucjpms
、cp932
和utf8mb4
字符集。(缺陷号 20534096)-
InnoDB: 为了解决某些
LOCK_grant
在读取模式下锁定的LOCK_grant
现在对锁进行了分区。读取锁定请求LOCK_grant
现在获取多个LOCK_grant
分区之一。写锁必须获取所有分区。为了解决另一个可伸缩性瓶颈,服务器在创建内部临时表时不再执行不必要的锁获取。
参考资料:另请参阅:Bug #72829、Bug #20023139。
-
复制: 一些复制相关变量的默认值已被修改。进行了以下更改:
此外,会话范围
gtid_executed
已被弃用。的全球范围gtid_executed
仍然受到支持。 -
复制: MySQL 中的 XA 实现与 XA 规范更加兼容。准备好的 XA 事务不再在断开连接时回滚。现在,当使用二进制日志进行复制时,处于
PREPARED
状态的 XA 事务会一直保存在二进制日志中,直到发出显式XA COMMIT
或XA ROLLBACK
语句。在以前的版本中,处于PREPARED
状态的 XA 事务将在服务器干净关闭或客户端断开连接时回滚。同样,处于PREPARED
状态的 XA 事务仍将存在于PREPARED
状态以防服务器异常关闭然后再次启动,但事务内容无法写入二进制日志。作为此功能的一部分,XA_prepare_log_event
添加了一个新事件,以跟踪PREPARED
状态中的 XA 事务并使它们能够被复制。为了完成一个两阶段的 XA 事务,XA COMMIT
或被XA ROLLBACK
单独记录在二进制日志中,可能与其他事务交错。XA COMMIT ONE PHASE
使用新语法 提交的 XA 事务使用XA_prepare_log_event
.参考资料:另请参阅:Bug #12161、Bug #11745231、Bug #75204、Bug #20214365。
-
提供语句进度信息的 Performance Schema 阶段事件工具现在默认启用和计时。受影响的仪器是此语句显示的仪器:
SELECT * FROM performance_schema.setup_instruments WHERE ENABLED='YES' AND NAME LIKE "stage/%";
(缺陷号 20685859)
Performance Schema 事务表的
XID
列(例如,events_transactions_current
)已拆分为三列,以允许访问 XID 值的组成部分。新列是XID_FORMAT_ID
、XID_GTRID
和XID_BQUAL
。(漏洞 #18320361)-
以前,不允许视图定义在
FROM
子句中包含派生表(子查询)。这一限制现已解除。以前,子句中的派生表(子查询)或视图
FROM
如果在列表中包含子查询,则无法合并到外部查询SELECT
中。相反,它们是使用物化进行处理的。现在取消了此限制,以便可以使用合并更快地执行以前使用物化执行的查询。(错误#12755、错误#11745276、错误#60417、错误#11865600)
InnoDB:
FLUSH TABLES ... FOR EXPORT
, which is an unsupported operation for tables resided in a general tablespace, failed to report a warning message. (缺陷号 20631305)InnoDB: MeCab 解析器访问了超出文档长度的字节,导致大小为 1 的无效读取Valgrind 错误。文档分配大小现在是长度 + 1 个字节。(缺陷号 20589432)
InnoDB: 不应为静态互斥体引发调试断言。(缺陷号 20588765)
InnoDB: 启动期间对内部系统表的表空间和文件路径数据更新导致撤消日志损坏。更新是在调用 之前进行的
truncate::fixup_tables()
,预计不会遇到更改的页面。(缺陷号 20534616)InnoDB:对临时表 的
TRUNCATE TABLE
操作引发了断言。从 重新加载时,临时表对象未完全构建SYS_TABLES
。(缺陷 #20527363,缺陷 #72080)InnoDB: Return value 16 when calling pthread_mutex_destroy() warnings were returned during
atexit()
processing. (缺陷号 20513522)InnoDB: 用于修改表空间第一页的调试变量在设置为不存在的表空间 ID 时引发断言。(错误#20511314、错误#75833、错误#19865274、错误#74481)
InnoDB: 缓冲池加载操作在尝试读取由先前
TRUNCATE TABLE
操作放置在表空间边界之外的页面时引发断言。(缺陷号 20474542)InnoDB: 在错误处理期间从数据字典缓存中删除外键对象导致服务器退出。(缺陷号 20442523)
InnoDB: 在恢复期间遇到的文件大小不匹配触发的重做日志调整大小操作期间引发断言。MySQL 5.6.8 中引入的自动处理重做日志文件大小不匹配的代码无法确保在重新创建重做日志文件之前缓冲池是干净的。(缺陷号 20425387)
InnoDB: 一个
InnoDB
memcachedextra_col_value[]
数组在没有检查分配标志的情况下被释放,导致服务器退出。(缺陷号 20400373)InnoDB: 在刷新操作正在进行时执行的 DML 操作引发了与 memcached 相关的断言。(缺陷号 20390277)
InnoDB:
CHECK TABLE
对具有空间索引的表 的该row_sel_sec_rec_is_for_clust_rec
函数无法处理外部存储的字段。(缺陷号 20311344)InnoDB: 在“按键分区” 表
CHECK TABLE
进行就地ALTER TABLE
操作对于按键分区的表,不应允许删除和添加主键的就地操作。(缺陷号 20190520)InnoDB: 对于结果排序算法中合并块的大小的估计太低导致服务器退出。(缺陷号 20049521)
-
InnoDB: 一个
ALTER TABLE ... RENAME
操作引发了一个无效的断言。断言代码使用了不正确的事务对象。(漏洞 #18523599)参考资料:此问题是 Bug #17447500 的回归。
InnoDB:
INNODB_SYS_DATAFILES
系统表空间和 撤消表空间从INNODB_SYS_TABLESPACES
输出中丢失。(漏洞 #16904899,漏洞 #69323)-
InnoDB:二进制升级到 MySQL 5.7.6 后 运行mysql_upgrade导致系统上的服务器退出,该系统具有在 MySQL 5.1 或更早版本中创建的表空间数据文件。MySQL 5.7.6 中 Bug #17345513 的修复未能解决
FIL_PAGE_TYPE
在 MySQL 5.1 或更早版本中创建的表空间数据文件中垃圾值的所有实例。FIL_PAGE_TYPE
使用此补丁,不再需要 MySQL 5.7.6 发行说明条目中针对 Bug #17345513 描述的用于修复包含无效值的非索引页面的手动过程。Bug #17345513 的补丁在重置无效
FIL_PAGE_TYPE
值后也无法重新计算页面校验和。重新启动服务器后,由于明显的页面损坏会发生故障。FIL_PAGE_TYPE
在将新值写入数据文件之前,现在会重新计算页面校验和 。(错误#76262,错误#20691930)参考资料:此问题是 Bug #17345513 的回归。
InnoDB: 对于全文搜索,优化器可能会选择一个不会产生正确相关性排名的索引。(错误#74686,错误#19950568)
分区: MySQL 服务器在打开分区表时不必要地请求表的默认分区数。这是不必要的,因为服务器已经有了关于要打开的表的信息。现在,服务器仅在需要时才请求此信息——也就是说,仅当它正在创建或更改分区表时才请求。(错误#76007,错误#20585753)
分区:
ALTER TABLE
当写锁对该表有效时, 许多试图向分区表添加分区、列或索引的(错误#74451、错误#74478、错误#74491、错误#74560、错误#74746、错误#74841、错误#74860、错误#74869、错误#19856162、错误#19864284、错误#19873019、错误#19891663、错误#19990815,错误#20026661,错误#20031966,错误#20033503,错误#19827845)-
分区:
ALTER TABLE
在写锁生效的分区表上 执行 an(错误#74288、错误#74634、错误#19784790、错误#19918805)参考资料:另请参阅:Bug #19856162、Bug #74451。
复制: 对性能模式表执行的一些内存复制操作
replication_connection_status
使用了不正确的长度,这可能导致缓冲区溢出错误或截断输出。此修复可确保使用正确的长度。(缺陷号 20535692)Replication: 在多线程slave上使用多源复制时(这里
slave_parallel_workers
大于1),slave_transaction_retries
大于1,slave将无法打开relay log文件。这是由于 slave worker 错误地为其复制通道构建了中继日志文件路径。(缺陷号 20448413)复制: 设置
automatic_sp_privileges
变量后,服务器会自动向存储例程的创建者授予EXECUTE
和ALTER ROUTINE
权限(如果用户还没有这些权限)。当特权用户以非特权用户身份在 master 上创建过程时DEFINER
,当前用户将被视为特权用户,并且mysql.procs_priv
不会更新表。当这样的语句被复制到 slave 时,非特权DEFINER
被认为是从站上的当前用户,并且正在分配特权。这导致分配给主服务器和从服务器的特权不同。该修复程序确保将存储例程的创建者添加到二进制日志中,并且从属现在在授予权限之前首先检查用户是否存在。为了保持与以前版本的兼容性,在不可DEFINER
用时 使用。INVOKER
作为此修复的一部分,匿名用户可用于从主服务器复制到从服务器。(缺陷号 20049894)复制: 如果复制从站上的 I/O 线程在初始化阶段失败,则它
Last_IO_Error
在发出后不会在现场SHOW SLAVE STATUS
。该修复可确保在Last_IO_Error
现场正确报告此类错误。(漏洞#18909984)复制: 发出后
RESET SLAVE
,RECEIVED_TRANSACTION_SET
中的字段performance_schema.replication_connection_status
显示不正确的值。这可能会导致不正确的字符串值错误。(错误#18751585,错误#19840342)复制: 当
gtid_mode=ON
和slave_net_timeout
设置为低值时,从 I/O 线程可能会挂起。这是因为当转储线程发现许多可以跳过的事件时,从属心跳没有足够定期地发送。该修复可确保在这种情况下正确发送心跳。(错误#74607,错误#19975697)CMake未能正确检测最新版本的 OpenSSL 的 OpenSSL 版本(版本字符串的格式已更改)。(缺陷号 20756770)
GRANT
并且ALTER USER
可以清除与重置密码无关的操作的密码过期标志。(缺陷号 20634154)对于从 MySQL 5.6 到 5.7 的升级,涉及将
mysql.user
表密码从Password
列移动到authentication_string
列, mysql_upgrade忽略了处理具有空plugin
值和 pre-4.1 密码哈希的行。(缺陷号 20614545)对于表修改语句,解析器可以在不检查内存不足情况或空指针的情况下取消引用解析树。(缺陷号 20607407)
mysql_stmt_prepare()
可能会泄漏分配给元数据的内存。(缺陷号 20598261)Debian 软件包缺少一些依赖项。(缺陷号 20561621)
服务器退出可能是由包含
HAVING
子句的查询引起的,该子句本身包含IN()
子查询谓词,其中子查询引用查询的列。(缺陷号 20558891)如果使用明文身份验证插件的客户端尝试使用空密码进行连接,则服务器可能会退出。(缺陷号 20537246)
查询缓存失效函数使用了太小的缓冲区来保存编码的数据库名称,这可能会导致服务器退出。(缺陷号 20528928)
Valgrind 警告被静音以显示与 GTID 相关的调试信息。(缺陷号 20506672)
某些在子句中具有派生表(子查询)的查询
FROM
可能会引发断言。(缺陷号 20487336)表修改失败后的表修改语句可能会导致服务器退出。(缺陷号 20460208)
派生表和常规表之间的自然左连接与另一个自然左连接连接到另一个常规表可能会导致服务器退出。(缺陷号 20455184)
优化器可能会尝试在内部临时表上创建错误数据类型的索引。(缺陷号 20454833)
UPDATE
其中指定表之一是派生表 的多表语句可能会导致服务器退出。(缺陷号 20454533)对内部 SRID 值的错误处理
ST_GeomFromGeoJSON()
可能导致引发断言。(缺陷号 20416705)在某些条件下,
LCASE()
、DECODE()
和ENCODE()
可能在内存复制操作中具有源和目标重叠。(错误#20315088、错误#75931、错误#20554017)ST_Distance()
可能会在 32 位平台上返回不正确的结果。(缺陷号 20259578)如果一个视图是使用 MERGE 算法处理的,并且有一个 ORDER BY 子句,如果在 启用 SQL 模式的情况下查询该视图,就会出错,除非该查询选择了所有视图列
GROUP BY
。ONLY_FULL_GROUP_BY
(缺陷号 20210742)对于调试版本,优化器可以拒绝使用 LooseScan 进行
eq_ref
访问连接并提出断言。优化器现在允许这种组合用于查询执行。(缺陷号 20119743)子查询中的超出范围的错误可能会引发断言。(缺陷号 20035071)
重命名
mysql.procs_priv
表并执行SHOW GRANTS
导致服务器退出。(缺陷号 20006361)按结果排序
GROUP_CONCAT()
可能会导致服务器退出。(错误#19880368,错误#20730220)由于在包含外部引用的子查询中使用全文谓词进行不适当的全文查找,服务器可能会退出。(漏洞 #19828320)
对于具有
ORDER BY
通过列号GROUP_CONCAT()
引用具有外部引用的表达式的准备好的语句,重复执行语句可能会导致服务器退出。(漏洞 #19814337)对于与半连接一起使用的物化内部临时表,优化器可以向其添加索引,但随后使用不适当的查找策略,导致服务器退出。(错误#19695490,错误#21782943)
由于错误地将不正确的字段与临时表相关联,优化器可能会引发断言。(错误#19612819,错误#20730129)
在服务器启动时指定
--general_log_file=
(使用空值)导致服务器失败并退出。(漏洞 #19392264)ORDER BY
对多表中使用的派生表或视图的 不当传播UPDATE
可能会引发断言。(漏洞 #18439019)中定义的
thd_proc_info()
函数plugin.h
并没有实际实现。这已更改为set_thd_proc_info()
。(漏洞 #11844974)MultiLineString
对于调试版本,在计算 a和 a 之间的对称差异时会引发断言MultiPoint
。(错误#77580,错误#21355906)MySQL 5.7.6 中引入的查询重写框架产生了过多的互斥量获取,在某些情况下会导致性能下降。(错误#76509,错误#20785598)
mysql_install_db以引导模式启动 mysqld,但未能等待它完成,导致过早关闭并需要崩溃恢复。(错误#76344,错误#20728488)
SHOW CREATE USER
不适用于 MySQL 5.7 之前的客户端。(错误#76093,错误#20627890)不适当
-Werror
的选项可能出现在 mysql_config --cflags输出中。(错误#76019,错误#20590904)作为
InnoDB
默认的临时表存储引擎,InnoDB
有时会对临时表的键部分长度做出错误的假设。(错误#76016,错误#20590162)从
global_variables
Performance Schema 表中进行选择会导致有关sql_log_bin
系统变量的虚假警告。(错误#75980,错误#20575529)对于嵌入式服务器,没有为包含子句
SHOW VARIABLES
的 语句生成适当的弃用警告。(错误#75951,错误#20559828)SHOW STATUS
WHERE
包含用户定义变量的子查询可能会引发断言。(错误#75934,错误#20554585)
AddressSanitizer 编译错误已消除。(错误#75739、错误#20459338、错误#75740、错误#20459363)
对一些代码问题进行了更正,这些问题导致编译器警告数组边界、可能未初始化的变量以及设置但未使用的变量。(错误#75735,错误#20458574)
使用该选项调用时, mysql客户端可能会过早退出。
--quick
(错误#74182,错误#19723750)CHECK TABLE ... FOR UPGRADE
没有报告使用旧日期时间格式的时间列(从 MySQL 5.6.4 之前开始)。因此, mysql_upgrade不知道发出REPAIR TABLE
语句来重建包含此类列的表,并且ALTER TABLE
如果表已修复,后续语句将无法在可能的范围内执行快速更改。现在,如果avoid_temporal_upgrade
系统变量被禁用,则CHECK TABLE
报告旧的时间列并将REPAIR TABLE
表从旧的时间格式升级到新格式。(错误#73008,错误#18985579)启用系统变量后,由于竞争条件
offline_mode
,服务器有时无法接受来自具有特权的用户的连接 。SUPER
(错误#72760,错误#18842228)写入慢查询日志的语句的信息始终
HANDLER ... READ
具有 0 值。(错误 #71892,错误 #18335504)rows_sent
rows_examined
mysql_real_connect()
如果服务器没有运行,可以关闭一个文件描述符两次。(漏洞 #69423,漏洞 #19226740)优化器使用的一些关键描述符未初始化。感谢 Sergei Glushchenko 提供的补丁。(缺陷 #68713,缺陷 #16512701)
EXPLAIN
filtered
可能会为包含LIMIT
子句的查询显示不正确 的值。(错误#34124,错误#11747810)