值为
系统
现在允许WITH_BOOST
CMake选择。如果此选项未设置或设置为系统
,则假定编译主机上的标准位置安装了正确的Boost版本。在这种情况下,使用的是已安装的Boost版本,而不是MySQL源发行版中包含的任何版本。(错误# 22224313)除了
mysql-5.7.11.tar.gz
源压缩包,另一个命名为mysql-boost-5.7.11.tar.gz
提供。新的tarball包含第一个tarball中的所有内容,但还包含子目录中所有必需的Boost头文件提高
.这是为了那些没有安装正确的Boost版本,不希望或不能下载它的人的利益。若要从此源代码发行版构建,请添加-DWITH_BOOST =提高
到CMake命令行。
位函数和运算符组成
BIT_COUNT ()
,BIT_AND ()
,BIT_OR ()
,BIT_XOR ()
,&
,|
,^
,~
,<<
,>>
.目前,位函数和运算符需要长整型数字
(64位整数)参数并返回长整型数字
值,所以它们的最大范围是64位。其他类型的实参转换为长整型数字
可能会发生截断。MySQL 8.0的扩展改变了这种强制转换
长整型数字
行为:位函数和操作符允许二进制字符串类型参数(二进制
,VARBINARY
,以及团
类型),使它们能够接受参数并产生大于64位的返回值。因此,在MySQL 5.7中对二进制字符串参数的位操作可能在MySQL 8.0中产生不同的结果。为了提前通知这种潜在的行为变化,服务器现在会对在MySQL 8.0中二进制字符串参数没有转换为整数的位操作发出警告。这些警告提供了重写受影响语句的机会。要显式地产生MySQL 5.7行为,并且在升级到8.0后不会改变,可以强制转换位操作二进制字符串参数,将它们转换为整数。有关更多信息和示例,请参见位函数和操作符.
在此之前,mysqld——初始化要求数据目录不存在,如果存在,则为空。现在,如果每个条目的名称都以句点(
.
)或使用——ignore-db-dir
选择。(Bug #79250, Bug #22213873)
yaSSL已升级到2.3.9版本。此升级纠正了一个问题,即yaSSL仅处理密钥协议中前导零或一个零的情况,而不处理任何数字,在使用DHE密码套件时,在极少数情况下可能导致连接失败。(错误# 22361038)
MySQL商用服务器的链接OpenSSL库已经从1.0.1p版本更新到1.0.1q版本。有关此版本中修复的问题的说明,请参见http://www.openssl.org/news/vulnerabilities.html.
此更改不影响oracle生成的MySQL Server的MySQL Community构建,它使用yaSSL库代替。(错误# 22348181)
的默认值
default_password_lifetime
控制全局密码过期策略的系统变量已从360(360天)更改为0(无密码过期)。当帐户密码在升级到MySQL 5.7一年后过期时,360的默认设置有时会让人们感到惊讶。若要继续使用0以外的值作为密码过期,请使用显式设置启动服务器default_password_lifetime
.例如,在选项文件中使用这些行:(mysqld) default_password_lifetime = 360
(Bug #77277, Bug #21284761)
MySQL客户端程序现在支持
——ssl-mode
选项,使您能够指定到服务器的连接的安全状态。允许的选项值为首选
(如果服务器支持该功能,则建立加密连接,否则退回到未加密连接),禁用
(建立非加密连接),要求
(建立加密连接,否则失败),VERFIFY_CA
(如要求
,但额外验证服务器证书),VERIFY_IDENTITY
(如VERIFY_CA
,但还要检查服务器证书是否与尝试连接的主机名匹配)。为了向后兼容,默认为首选
如果——ssl-mode
未指定。这些客户端支持
——ssl-mode
:mysql,mysqladmin,mysqlbinlog,mysqlcheck,, mysqldump,mysqlimport,mysqlshow,mysqlpump,mysqlslap,mysqltest,mysql_upgrade.的
——ssl-mode
选项包含客户端功能——ssl
而且——ssl-verify-server-cert
选项。因此,这两个选项现在都已弃用,并将在未来的MySQL版本中删除。使用——ssl-mode =要求
而不是——ssl = 1
或——启用ssl
.使用——ssl-mode =禁用
而不是——ssl = 0
,——skip-ssl
,或——禁用ssl
.使用——ssl-mode = VERIFY_IDENTITY
而不是——ssl-verify-server-cert
选项。(服务器端——ssl
选择是不弃用)。对于C API,新的
MYSQL_OPT_SSL_MODE
选择mysql_options ()
对应于——ssl-mode
选择。的MYSQL_OPT_SSL_ENFORCE
而且MYSQL_OPT_SSL_VERIFY_SERVER_CERT
选项mysql_options ()
对应客户端——ssl
而且——ssl-verify-server-cert
选项。它们现在已弃用,并将在未来的MySQL版本中删除。使用MYSQL_OPT_SSL_MODE
选项值为SSL_MODE_REQUIRED
或SSL_MODE_VERIFY_IDENTITY
代替。有关更多信息,请参见加密连接的命令选项,mysql_options ().
由于这个变化,次要的C API版本号增加了。
InnoDB:一个新的
InnoDB
配置选项,innodb_tmpdir
,允许您为在线期间创建的临时文件配置一个单独的目录ALTER TABLE
重新构建表的操作。引入这个选项是为了帮助避免MySQL临时目录溢出,这可能是在线期间创建的大型临时文件造成的ALTER TABLE
操作。innodb_tmpdir
可以使用集
声明。在线
ALTER TABLE
重新构建表的操作也会创建中间表文件与原始表在同一目录。的innodb_tmpdir
选项不适用于中间表文件。(错误# 19183565)InnoDB:
InnoDB
现在支持静态数据加密InnoDB
存储在每表文件表空间中的表。控件启用加密加密
属性时的选项InnoDB
表格有关更多信息,请参见InnoDB数据静止加密.复制:的
log_statements_unsafe_for_binlog
变量用于控制是否将错误1592生成的警告添加到二进制日志中。Valgrind函数签名
mysql-test / valgrind.supp
为Valgrind 3.11升级。(错误# 22214867)的
audit_log
插件现在在MYSQL_AUDIT_TABLE_ACCESS_CLASS
类。这些事件是可中止的。(错误# 21458192)日志输出的格式mysqld_safe属性可以配置Now
——mysqld-safe-log-timestamps
选择。此选项可用于以与服务器兼容的格式或以所使用的格式生成日志时间戳mysqld_safe旧版本的MySQL。有关更多信息,请参见mysqld_safe - MySQL服务器启动脚本.(Bug #78475, Bug #21862951)服务器现在支持
——early-plugin-load
选项,指示在加载强制内置插件和存储引擎初始化之前加载哪些插件。此选项的一个用途是加载keyring_file
插件:InnoDB
存储引擎使用密匙环进行静态数据加密,因此keyring_file
插件必须尽早加载,以确保它在之前可用InnoDB
初始化。存储引擎现在可以请求关于获取和释放独占元数据锁的通知。因此,
LOCK_STATUS
的列metadata_locks
性能模式表有两个新的状态值。的PRE_ACQUIRE_NOTIFY
而且POST_RELEASE_NOTIFY
状态值很简单,表示元数据锁定子子系统在进入锁获取或离开锁释放操作时通知感兴趣的存储引擎。的mysql_plugin实用程序已弃用,并将在未来的MySQL版本中删除。方法在服务器启动时加载插件
——plugin-load
或——plugin-load-add
选项,或在运行时使用安装插件
声明。的
mysql_kill ()
,mysql_list_fields ()
,mysql_list_processes ()
,mysql_refresh ()
C API函数已弃用,并将在未来的MySQL版本中删除。对应的也是如此COM_PROCESS_KILL
,COM_FIELD_LIST
,COM_PROCESS_INFO
,COM_REFRESH
客户端/服务器协议命令。相反,使用mysql_query ()
执行杀了
,显示列
,显示PROCESSLIST
,或冲洗
分别声明。
InnoDB;分区:当
优化表
重建一个分区InnoDB
表,它将结果分区表空间文件(* .ibd
属性指定的目录,而不是默认数据目录数据目录
选择。(Bug #75112, Bug #20160327)InnoDB:
InnoDB
添加或删除虚拟列时更新索引统计信息失败。(Bug #22469660, Bug #79775)InnoDB:修正了信息模式接口代码中的服务器方法调用,以避免不必要的类型转换。(错误# 22391925)
InnoDB:一个小
InnoDB
缓冲池大小用大innodb_stats_persistent_sample_pages
设置导致很难在缓冲池中找到空闲块警告。(错误# 22385442)InnoDB:memcached连接被阻止访问包含索引虚拟列的表。访问索引虚拟列需要回调到服务器,但是memcached连接不能访问服务器代码。(Bug #22384503, Bug #79691)
InnoDB:
InnoDB
拒绝在线时没有返回信息信息ALTER TABLE
试图添加索引和虚拟列的操作。(错误# 22374827)InnoDB:一个无效的
innodb_saved_page_number_debug
设置导致服务器退出。(Bug #22311319, Bug #79516)InnoDB:
InnoDB
在同一个共享表空间中创建压缩表和临时压缩表时,释放表对象失败。(错误# 22306581)InnoDB:在numa相关代码中,大小信息传递给
mbind ()
打电话给buf_chunk_init ()
功能不正确。(Bug #22293530, Bug #79434)InnoDB:对在线缓冲池调整大小操作的NUMA支持不完整。(Bug #22293511, Bug #79354)
InnoDB:一个
SELECT COUNT (*)
对全文子查询的结果进行计数的查询引发断言。(错误# 22270139)InnoDB:
InnoDB
传递了一个带有错误的缓冲区TINYBLOB
虚拟列的数据长度,导致清除线程失败。(错误# 22256752)InnoDB:从包含空间索引的表中删除数据时发生清除失败。(Bug #22230442, Bug #22366370)
InnoDB:当purge试图从聚集索引重新构建虚拟列数据时访问已释放的页时,会引发断言。(错误# 22204260)
InnoDB:索引虚拟列只记录前缀字节,导致a未找到用于sec记录的集群记录错误。(错误# 22202788)
InnoDB:一个小的缓冲池
innodb_page_size
设置64 k
可能导致启动、引导和恢复失败。(Bug #22179133, Bug #79201)InnoDB:删除了检查32位文件偏移量的不可达代码。(Bug #22163880, Bug #79150)
InnoDB:后台线程在清除线程退出期间或之后将撤销记录添加到清除历史列表,导致缓慢关闭失败。(错误# 22154730)
InnoDB:的
InnoDB
清除线程在试图清除未删除标记的虚拟列索引记录时死亡。(错误# 22141031)InnoDB:在调试版本中
ALTER TABLE
增加虚拟列的列长度的操作将引发断言。(错误# 22139917)InnoDB:
ut_allocator
在32位系统上使用12字节头预先分配有效负载,导致未对齐的内存访问。在32位SPARC系统上,未对齐的内存访问在引导期间导致崩溃。(错误# 22131684)InnoDB:在调试版本中
ALTER TABLE
在现有虚拟列引发断言之前添加新虚拟列的操作。(Bug #22123674, Bug #22111464)InnoDB:
InnoDB
改进了与缓冲池转储和加载相关的启动消息。(Bug #22096661, Bug #78960)InnoDB:支持已启用
算法=原地
在现有虚拟列上添加索引,同时删除另一个虚拟列的操作。还启用了支持算法=原地
添加虚拟列和索引的操作。在新添加的虚拟列上添加索引时,清除将跳过未提交的虚拟索引。(错误# 22082762)InnoDB:使用错误的表对象为访问同一表的多个实例的查询计算虚拟列值。(错误# 22070021)
InnoDB:插入和删除空间数据时,清除线程失败。在r -树搜索阶段没有存储子页码字段。(错误# 22027053)
InnoDB:以空值启动服务器
innodb_data_home_dir
配置文件中的条目导致InnoDB
在根目录中查找缓冲池文件,导致启动错误。(Bug #22016556, Bug #78831)InnoDB:计算虚拟列值失败导致错误消息过多。(错误# 21968375)
InnoDB:一个
INFORMATION_SCHEMA。在NODB_CMP_PER_INDEX
查询引发了一个断言。占用字典互斥量InnoDB
填充内存中的堆表。互斥锁之前没有释放InnoDB
试图将内存堆表转换为优化的内部临时表。(Bug #21950756, Bug #78714)InnoDB:为避免潜在的挂起和重做日志覆盖,可以使用
innodb_log_file_size
最小值从1MB增加到4MB,长度计算在log_margin_checkpoint_age ()
已修改。(Bug #21924224, Bug #78647)InnoDB:在高并发性下运行的全文查询由于无效的内存访问导致服务器退出。(错误# 21922532)
InnoDB:一个
ALTER TABLE
对跨多个表空间分区的表的操作将现有分区移动到表的默认表空间,从而导致对上的断言显示创建表
.同样的,ALTER TABLE
将现有分区移动到已命名的表空间。只有tbl_name
表空间tablespace_name
修改表…重组分区
应该将现有分区移动到表的默认表空间或命名表空间。运行ALTER TABLE
在一个跨多个表空间分区的表上,只应该更改表的默认表空间。(Bug #21914047, Bug #22124042, Bug #79030)tbl_name
表空间tablespace_name
InnoDB:有一个大的
innodb_sort_buffer_size
设置时,在空表上添加索引的执行速度比预期的慢。(Bug #21762319, Bug #78262)InnoDB:之间发生竞争条件
fil_names_write ()
而且file_rename_tablespace_in_mem ()
.(错误# 21549928)InnoDB:清除试图访问由前面的撤消日志截断操作释放的撤消页,导致断言。(错误# 21508627)
InnoDB:
InnoDB
拒绝在线时没有返回信息信息ALTER TABLE
对具有空间索引的表进行操作。(错误# 20111575)InnoDB:添加了编译器障碍
ut_relax_cpu ()
.的ut_always_false
从虚拟全局变量中移除ut_delay ()
.(Bug #20045167, Bug #74832)InnoDB:删除虚拟列时返回不正确的索引值。更改的表对象用于计算虚拟列值。(Bug #79773, Bug #22469459)
这个问题是Bug #22082762的回归。
分区:对带虚拟列的分区表进行子查询扫描可能会泄漏内存。(Bug #79145, Bug #22162200)
复制:的行为
设置GTID_PURGED
在5.6和5.7版本之间不一致。该修复确保5.7版本不会为设置GTID_PURGED
语句。(错误# 21472492)复制:对象中插入的触发器或存储函数
AUTO_INCREMENT
列,则DML必须被标记为不安全语句。如果在DML语句之前将表锁定在事务中(例如通过使用锁表
),则DML语句没有被标记为不安全语句。该修复程序确保这样的DML语句被正确地标记为不安全。(错误# 17047208)复制:如果
pseudo_slave_mode
当XA事务处于准备阶段时,将其设置为1,则生成断言。该修复确保在XA事务期间可以进行从0到1的更改。注意,这个变量仅供服务器内部使用。(Bug #79416, Bug #22273964, Bug #78695, Bug #21942487)复制:在使用gtid时,违反gtid的语句在以下情况下会产生错误:
gtid_mode
要么是在
或ON_PERMISSIVE
而且gtid_next =自动
该错误阻止隐式预提交,从而导致竞争条件。通过使错误不阻止隐式预提交的发生,已经修复了这个问题。这符合违反gtid的DDL语句在执行前隐式提交前一个事务的预期行为。(Bug #78543, Bug #21895421)
复制:当从机配置为
log_bin =了
时,应用程序(SQL)线程未能正确回滚中继日志中遗留的部分事务。修复确保在重新连接时,应用程序线程正确地回滚部分事务,并从下一个中继日志文件开始再次应用它。(Bug #78211, Bug #21691396)复制:如果服务器在提交已准备好的XA事务之前突然停止,并且该事务修改了
mysql.gtid_executed
表,则后续恢复将由于innodb_lock_wait_timeout
错误时,正在读取mysql.gtid_executed
表格为解决该问题,XA事务不再允许修改mysql.gtid_executed
表格(Bug #77740, Bug #21452916)复制:作为修复Bug #16290902的一部分,当编写
如果存在,删除临时表
查询到二进制日志,查询之前不再有使用“数据库”
声明。相反,查询使用完全限定的表名,例如删除临时表,如果存在' db ' . ' t1 ';
.这改变了应用replicate-rewrite-db
属性中指定的默认数据库使用
声明。这导致奴隶失败时,结果创建临时表
是应用。该修复确保在写入如果存在,删除临时表
查询到二进制日志,检查默认数据库。如果它存在,则查询将被写入使用default_db
在二进制日志中。如果不存在默认数据库,则使用限定表名记录查询。(Bug #77417, Bug #21317739)复制:如果为事务生成GTID失败,则该事务不会写入二进制日志,但仍会提交。虽然gtid耗尽是一种罕见的情况,但如果发生这种情况,则会将一个错误作为同步阶段错误写入二进制日志。与
binlog_error_action = ABORT_SERVER
,服务器会因为这样的错误而中止,从而避免数据不一致。当binlog_error_action = IGNORE_ERROR
,服务器在出现这种错误后继续二进制日志记录,可能导致主服务器和从服务器之间的数据不一致。修复程序将错误更改为正确记录为刷新阶段错误。(Bug #77393, Bug #21276561)复制:当使用
——gtid-mode =
,——enforce-gtid-consistency
,——binlog-format =行
,如果用户定义的函数具有多个删除临时表
语句在主服务器上执行时,产生的二进制日志在从服务器上导致错误。该修正确保存储的函数和触发器也被视为多语句事务,并且当——enforce-gtid-consistency
已启用,功能与创建临时表
或删除临时表
语句生成ER_GTID_UNSAFE_CREATE_DROP_TEMPORARY_TABLE_IN_TRANSACTION
错误。(Bug #77354, Bug #21253415)复制:类中使用的存储过程局部变量
改变事件
语句没有被正确复制。这与事实有关调用
语句不会被写入二进制日志。相反,在存储过程中执行的每条语句都单独记录二进制日志,除非语句字符串被修改,因此存储过程局部变量的使用被替换为NAME_CONST(“spvar_name”、“spvar-value”)
调用。DDL语句(无论当前二进制日志格式如何,始终以语句二进制日志模式进行二进制日志记录)也可以使用存储过程局部变量,冲突可能导致它们不能正确复制。此修复确保语句中使用的任何存储过程局部变量都被替换为NAME_CONST(…)
,除非是DML语句,且二进制日志格式为行
.(Bug #77288, Bug #21229951)复制:
删除表
语句在被写入二进制日志之前由服务器重新生成。如果表或数据库名称包含非常规字符,例如非拉丁字符,则重新生成的语句使用了错误的名称,从而破坏了复制。该修复确保在这种情况下重新生成的名称被正确地转换回原始字符集。在解决此错误期间,还发现在表或数据库名称包含64个字符的罕见情况下,服务器抛出错误assert(M_TBLLEN < 128)
断言。该断言已被修正为小于或等于128。(Bug #77249, Bug #21205695)参考:参见Bug #78036, Bug #22261585, Bug #21619371。
复制:不管电流如何
binlog_format
设置时,更改主服务器上元数据的DDL总是被标识出来并写入二进制日志声明
格式。这样的DDL可能来自基于事件的SQL语句,例如创建事件
或删除事件
,或具有不安全功能的事务,例如sysdate ()
.当binlog_format =混合
并试图复制这样的DDL,它没有被正确识别,因此没有被正确复制。(Bug #71859, Bug #19286708)微软的Windows操作系统:在Windows上创建处理连接的线程时,可能会发生线程句柄资源泄漏,这可能导致Windows服务器最终耗尽句柄。(Bug #79714, Bug #22455198)
JSON:时并不总是执行语法检查
ALTER TABLE
语句更改列的类型文本
来JSON
.这可能会导致JSON
包含无效JSON数据的列。这个问题是在原版时观察到的文本
列使用utf8mb4_bin
排序。(Bug #79432, Bug #22278524)RHEL6或更早版本的System-V初始化脚本无法启用
mysqld
服务。(错误# 22600974)引用的触发器的一些激活
新
值可能导致服务器退出。(错误# 22377554)的输出解析
ST_GeometryType ()
作为一个DATETIME
值,默认字符集为utf32
导致服务器退出。(错误# 22340858)对于从XML文件加载的字符集,服务器可能无法正确初始化其状态映射,从而导致服务器退出。(错误# 22338946)
在全文索引中插入84个4字节字符的标记会引发断言。最大令牌长度为84个字符,最多252个字节,不包括4字节字符。最大字节长度现在是336字节。(Bug #22291765, Bug #79475)
对于消费者的某些组合,Performance Schema预备语句插装可能导致服务器退出。(错误# 22291560)
如果客户端试图使用不受支持的客户端字符集(
ucs2
,utf16
,utf32
),报告给客户端的错误消息对于SSL和非SSL连接是不同的。(错误# 22216715)如果存储过程将变量声明为,则可能发生数据损坏或服务器退出
文本
或团
然后使用SELECT将数据复制到该变量…的INTO语法文本
或团
列。(Bug #22203532, Bug #22232332, Bug #21941152)对于调试版本,使用
ONLY_FULL_GROUP_BY
如果SQL模式被禁用,优化器可能会尝试对外部引用进行排序,从而引发断言。(错误# 22200984)对于调试版本,对于涉及
MIN ()
或MAX ()
在已索引的列和对未索引的datetime列的引用上,优化器可能尝试访问未读值,从而引发断言。(错误# 22186926)Geohash解码(例如,对于
ST_LongFromGeoHash ()
,ST_LatFromGeoHash ()
,ST_PointFromGeoHash ()
)可能会产生不正确的结果,因为舍入算法过于激进。(错误# 22165582)对于生成的列,优化器可能无法建立正确的表引用,从而导致服务器退出。(错误# 22132822)
对于某些使用者的组合,性能模式文件插装可能会由于试图使用
零
指针,而仪器临时文件I/O。(错误# 22130453)性能模式可能会提出一个基于(不正确的)假设的断言,即检测临时文件打开操作总是会导致检测文件。(错误# 22118669)
一个
ALTER TABLE
属性在虚拟生成列上添加索引的语句原地
算法没有正确地报告虚拟列值问题的警告(或严格SQL模式下的错误)。任何后续ALTER TABLE
在同一张桌子上使用复制
由于评估有问题的值,算法产生了这样的警告(或严格SQL模式下的失败),但使连接处于进一步的状态原地
桌子上的改动同样失败。(错误# 22095783)如果an的左边表达式
在
表达式是一个不访问表的行子查询,可能引发断言(在调试构建中),或者可能返回错误的结果(在发布构建中)。(错误# 22089623)优化器可以将匹配已建立索引的生成列的表达式替换为已生成的列,以启用关联索引。但是,对于单表更新和删除语句没有执行此优化。优化器现在将替换优化扩展到这样的语句。(错误# 22077611)
ANSI
SQL模式在处理生成的列表达式时会导致不一致。(错误# 22018979)删除服务器会话插件出错,可能导致服务器退出。(错误# 21983102)
对于某些查询,如果优化器对生成的列使用Disk-Sweep Multi-Range Read优化,则服务器可能退出。(错误# 21980430)
mysqlpump尝试并行执行尽可能多的工作,但是转储线程在备份数据之前缺少同步点,导致备份不一致。mysqlpump现在锁定服务器并使用
用读锁刷新表
以确保任何进一步的连接都能查看所有数据库的相同状态。此更改解除了对的限制
——单独的事务
选项与并行性互斥。当使用——单独的事务
时,不再需要通过设置禁用并行——default-parallelism
的任何实例——parallel-schemas
.(错误# 21980284)的错误
pthread_rwlock_unlock ()
其中,即使对于已经解锁的对象,它也会减少锁定计数器,从而导致死锁。(错误# 21966621)Performance Schema可以获得会话系统变量的双重锁,导致服务器挂起或(在调试版本中)引发断言。(错误# 21935106)
某些查询包含
在0
可能导致服务器由于未初始化的读取而退出:选择(选择
.(错误# 21922202)上校
和常数
从t WHERE 0)在(选择常数
从t1)创建临时表..选择
声明中涉及位
导致列类型重定义的列可能导致服务器退出或不正确地创建表。(错误# 21902059)为
更新
上的操作InnoDB
表中的虚拟生成列的值与索引中的值之间可能不匹配”之前”缓冲区,导致服务器退出。(错误# 21875520)与
character_set_server = utf16le
,的一些值ft_boolean_syntax
可能导致服务器退出全文搜索。(错误# 21631855)与
gtid_mode =对
,同时执行显示表状态
而且撤销所有特权
可能导致死锁在数据库中有一个视图和撤销所有特权
某些指定用户失败,但不是所有用户失败。(错误# 21463167)mysqlpump可能由于转储处理期间视图处理线程的不正确同步而退出。(Bug #21399236, Bug #21447753)
与
锁表
在武力上,尝试暂时开放合并
由表列表中的视图组成的表(不是列表中的最后一个表)导致服务器退出。(错误# 20691429)对于某些准备好的语句,优化器可以转换联接条件,使其使用指向初始执行后不再可用的临时表字段的指针。后续执行导致服务器退出。(错误# 19941403)
重复执行
修改表v1检查分区
作为一个准备好的语句,其中v1
是指向服务器出口的视图。此外,当在视图上尝试某些管理操作时,它们的输出将从”腐败的”来”操作失败了”.这些包括
分析表
,优化表
,修理表
,ALTER TABLE
执行的语句分析分区
,检查分区
,优化分区
,修复分区
操作。(错误# 19817021)Valgrind在用于非对称加密的代码中检测到一些可能不安全的字符串函数使用。(错误# 19688135)
连接缓冲区分配中的内存不足失败可能导致多表查询的错误结果。(错误# 19031409)
属性所做的任何更改都会被SSL连接忽略
MYSQL_OPT_READ_TIMEOUT
选项。mysql_options ()
C语言API函数。(错误# 17618162)为
ALTER TABLE
语句时,解析器不支持算法
子句用于涉及表空间或分区的某些操作。(错误# 17400320)Debian包创建
根
使用auth_socket
认证插件,以实现安全的默认安装,如果安装是做了一个空白根
密码。然而,auth_socket
正在使用,即使密码不是空白。(Bug #80137, Bug #22594846, Bug #23321113, Bug #81518)Solaris包未能注意到MySQL客户端库对
libstlport
图书馆。(Bug #79778, Bug #22504264)使用systemd启动mysqld如果配置文件包含多个
datadir
行。最后一点datadir
已使用Line。(Bug #79613, Bug #22361702)类中包含的派生表
集
保险条款更新
语句应该物化,以避免更新在同一语句中读取的表时出现错误。某些语句没有实现物化,导致该错误。(Bug #79590, Bug #22343301)MySQL 5.7.8禁止引用外部查询的列表列
有
子句,因为它们不被标准SQL所允许。但是,由于这是一个经常使用的扩展,所以再次允许使用它。(Bug #79549, Bug #22328395)参考:这个问题是对Bug #19823076的回归。
仅安装共享库、客户端和开发支持文件无法安装构建客户端应用程序所需的所有内容,因为
binary_log_types.h
头文件未安装。(Bug #79531, Bug #22321338)显示创建触发器
可能无法显示所有适用的SQL模式。(Bug #79526, Bug #22313133)参考:此问题是Bug #18311187的回归。
SELinux,mysqld——初始化与一个
init_file
系统变量可能无法初始化数据目录。(Bug #79442, Bug #22314098, Bug #79458, Bug #22286481)写入已保存视图定义的十六进制和位字面量可以被截断。这也会影响extended
解释
输出。(Bug #79398, Bug #22268110)ST_Buffer ()
对于SRID不为0的几何图形返回错误。非零SRID值现在是允许的,但被忽略(计算仍然使用笛卡尔坐标)。(Bug #79394, Bug #22306745)的回归导致了解决方案的失败子查询限制为避免
ER_UPDATE_TABLE_USED
类的目标时,在子查询中引用与之相同的表时出错更新
或删除
声明。(Bug #79333, Bug #22239474)导致多个解析错误的语句可能会引发断言。(Bug #79303, Bug #22222013)
一些带有派生表的查询在物化时比合并到外部查询时执行得更好。优化器在默认情况下不再对选择列表中包含依赖子查询的派生表使用合并。(Bug #79294, Bug #22223202)
改变用户
而且设置密码
在使用?命名的文件中调用时,在服务器启动时不工作init_file
系统变量。(Bug #79277, Bug #22205360)在非严格SQL模式时,尝试隐式插入
零
成一个非空
列会导致不同的行为,这取决于表是否有触发器。(Bug #79266, Bug #22202665)没有保护某些仅用于复制的代码
# ifdef
方法编译失败WITH_UBSAN
CMake选择启用。(Bug #79236, Bug #22190632)配置MySQL
-DWITH_UBSAN =对
CMake选项导致错误的运行时警告comp_err.这些现在被抑制了。同样,一个CMake警告:未定义的行为地址消毒器支持目前是实验性的。(Bug #79230, Bug #22190656)插入…选择
语句可以插入值默认的
生成的列。(Bug #79204, Bug #22179637)与
derived_merge
国旗optimizer_switch
启用了系统变量,则使用外部连接内部的派生表的查询可能返回不正确的结果。(Bug #79194, Bug #22176604)参考:参见Bug #80526, Bug #22833364。
内存泄漏
libmysqld
被纠正。(Bug #79187, Bug #22174219)FOUND_ROWS ()
如果前面的查询是一个负数联盟
涉及SQL_CALC_FOUND_ROWS
而且限制……抵消
.(Bug #79131, Bug #22155786)在
- - - - - - - - -存在
子查询转换可能导致选择null in (
返回0而不是子查询
)零
.在
- - - - - - - - -存在
类左侧的子查询,对于表非空的查询,子查询转换可能产生不正确的结果在
谓词产生一个空结果,并且禁用了半连接优化。(Bug #78946, Bug #22090717, Bug #74403, Bug #19822406)结果是
WEIGHT_STRING ()
在视图中使用时可能不正确。(Bug #78783, Bug #21974321)对于使用Unix套接字文件进行的连接,指定
——ssl-ca
选项导致连接失败。(Bug #78509, Bug #21878661)如果服务器是用
——线程处理=没有线程
,没有为客户端连接创建前台线程。上的查询没有前台线程的可能性,性能模式没有考虑session_connect_attrs
表,从而引发断言。(Bug #78292, Bug #21765843)mysqlpump生成的错误
插入
已生成列的表的语句。(Bug #78082, Bug #21650559)修改表…转换为字符集
使用原地
如果表只包含数值数据类型,则算法无效。而且,这样的操作暂时没有清理干净.frm
文件。(Bug #77554, Bug #21345391)重
显示PROCESSLIST
或选择……从INFORMATION_SCHEMA。PROCESSLIST
活动可能导致服务器接受超过max_connections
连接。(Bug #75155, Bug #20201006)当与
libmysqld
嵌入式服务器,mysql_stmt_execute ()
C API函数失败通信报文格式不规范
错误,即使是简单的准备语句。(Bug #70664, Bug #17883203)查询使用
总和(不同的)
当有许多不同的值时,可能产生不正确的结果。(Bug #56927, Bug #11764126, Bug #79648, Bug #22370382)