以前MySQL只支持TLSv1协议加密连接。TLS支持现已扩展到支持更高级别的连接加密:
当使用OpenSSL 1.0.1或更高版本编译时,MySQL支持TLSv1、TLSv1.1和TLSv1.2协议。
当使用yaSSL的绑定版本编译时,MySQL支持TLSv1和TLSv1.1协议。
因为TLSv1.2需要OpenSSL,所以对该协议的支持在二进制发行版中仅适用于MySQL商业服务器,而不适用于MySQL社区服务器(使用yaSSL编译)。如果从源代码构建,要启用TLSv1.2支持,必须设置
WITH_SSL
CMake选项,使用OpenSSL。的
tls_version
system变量指定在启动时服务器允许传入的客户端和复制从连接使用哪些TLS协议。对于客户端程序,
——tls版本
option指定客户端允许连接到服务器的TLS协议。对于复制连接,
MASTER_TLS_VERSION
选项。将master更改为
语句指定从服务器允许连接到主服务器的TLS协议。的
mysql_options ()
C API函数有一个新的MYSQL_OPT_TLS_VERSION
选项,从客户端库中指定客户端程序允许的TLS协议。默认情况下,MySQL试图使用可用的最高TLS协议版本,这取决于用于编译服务器和客户端的SSL库、使用的密钥大小以及服务器或客户端是否被限制使用某些协议(例如,通过
tls_version
/——tls版本
).有关更多信息,请参见加密连接TLS协议和密码.(错误# 19921150)
InnoDB:启用新的
innodb_background_drop_list_empty
调试配置选项通过延迟表的创建,直到后台拖放列表为空,从而帮助避免测试用例失败。(错误# 21891560)InnoDB:的
innodb_support_xa
已弃用system变量,该变量支持XA事务中的两阶段提交。InnoDB
从MySQL 5.7.10开始,XA事务中始终支持两阶段提交。禁用innodb_support_xa
不再允许,因为它使复制不安全,并阻止与二进制日志组提交相关的性能提高。这些客户机程序现在支持
——enable-cleartext-plugin
选择:mysqlcheck,, mysqldump,mysqlimport,mysqlshow.此选项启用mysql_clear_password
明文身份验证插件。(见客户端明文可插入身份验证.) (Bug #21235226)这些函数现在会对无效输入产生警告:
UNHEX ()
,INET_NTOA ()
,INET_ATON ()
,INET6_NTOA ()
,INET6_ATON ()
.同时,INET_ATON ()
现在返回零
并对包含超过四组数字的参数产生警告。(Bug #78856, Bug #22042027, Bug #78884, Bug #22071558)MySQL发行版现在包括lz4_decompress而且zlib_decompress可用于解压缩的实用程序mysqlpump方法压缩的输出
——compress-output = LZ4
而且——compress-output = ZLIB
选项。有关更多信息,请参见lz4_decompress -解压mysqlpump LZ4-Compressed Output,zlib_decompress -解压mysqlpump ZLIB-Compressed Output.(Bug #78108, Bug #21644479)mysql_upgrade现在试图打印更多的信息错误
致命错误:升级失败
.(Bug #77803, Bug #21489398)
InnoDB;微软的Windows操作系统:在Windows上崩溃后,将数据目录复制到非Windows平台上执行恢复会导致启动时崩溃恢复失败。代码没有转换文件路径分隔符”\”来”/”在重做日志中。(Bug #21825127, Bug #78410)
InnoDB:当试图在虚拟索引中使用的主键列上创建级联外键约束时,返回的错误消息不包括来自的信息
dict_foreign_has_col_in_v_index ()
.(错误# 22050059)InnoDB:使用多个索引虚拟列重建表的就地操作会引发断言。(错误# 22018532)
InnoDB:一个
选择……更新
仅包含虚拟列和虚拟列索引的表上的操作将引发无效断言。(Bug #21981164, Bug #21880930)InnoDB:事件期间的服务器退出
截断表
对具有全文索引的表的操作导致启动失败。(错误# 21959479)InnoDB:一个
修改表…丢弃表空间
操作引发无效断言。(Bug #21957001, Bug #78728)InnoDB:与以前的版本相比,小的表空间包含
团
值有更大的数据文件,这是在MySQL 5.7.5中引入的回归。(Bug #21950389, Bug #78623)这个问题是:Bug #18756233的回归。
InnoDB:的
ord_part
在虚拟列上创建索引的操作失败后,未重置标志,导致InnoDB
在后续的插入操作上断言。(Bug #21941320, Bug #21979969)InnoDB:为具有虚拟列的表创建了无效的搜索元组。(错误# 21922176)
InnoDB:
InnoDB
试图清除未标记为删除的虚拟列索引记录。(错误# 21901389)InnoDB:对具有虚拟列的表的连续打开表操作导致内存访问冲突。(错误# 21894654)
InnoDB:更新矢量生成以进行全文搜索
DOC_ID
没有初始化一个新的ufield
,生成断言。(错误# 21891185)InnoDB:
InnoDB
阻止外键失败。处理步骤设置为空
或级联
虚拟列基列和虚拟索引列的约束。(错误# 21890816)InnoDB:无效的比较在64KB的实例上引发断言
innodb_page_size
设置。(Bug #21882024, Bug #78516)InnoDB:在估计b-树索引页的最大记录大小时,
InnoDB
错误地将长固定字段(大于767字节)处理为固定大小字段而不是可变长度字段。(错误# 21880445)InnoDB:在调试版本中,
dtuple_get_n_fields
试图读取先前分配给虚拟列元组的已释放内存,导致服务器退出。(错误# 21875974)InnoDB:选择从
INNODB_CMPMEM
与选择big_tables = 1
引发缓冲池互斥锁断言。(Bug #21871451, Bug #78494)InnoDB:
InnoDB
操作期间返回与损坏相关的无效错误消息导入表空间
操作。(Bug #21838158, Bug #77321)InnoDB:一个
抽水马桶…用于出口
断言的操作row_quiesce_table_start ()
当在分区表上运行时,分区位于系统或通用表空间中。(错误# 21796845)InnoDB:一个
删除表
操作导致服务器退出。没有检查函数调用的返回值,这将导致对空指针的解引用。针对此bug的补丁还解决了一个潜在的竞态条件。(Bug #21794102, Bug #78336)InnoDB:在调试构建中,跨多个分区的有序扫描不使用优先级队列,从而导致断言。(错误# 21753477)
InnoDB:重新启动服务器后,
压缩
的列INNODB_SYS_TABLESPACES
表显示数据错误。的压缩
列已从INNODB_SYS_TABLESPACES
.若要查看页面压缩的当前设置,请使用显示创建表
.(Bug #21687636, Bug #78197)InnoDB:无效的表标志值引发断言。的
SYS_TABLES.MIX_LEN (flags2)
值未为使用ROW_FORMAT =冗余
.(错误# 21644827)InnoDB:类的崩溃恢复处理时引发断言
MLOG_TRUNCATE
重做日志记录将一个共享表空间视为一个单文件表空间。已跳过共享表空间的重做。(错误# 21606676)InnoDB:由于无效断言,恢复后的事务回滚失败。(错误# 21575121)
InnoDB:撤消日志中关于空间列的信息不足会引发断言,可能导致升级失败。因此,在执行从MySQL 5.7.8或5.7.9到5.7.10或更高版本的本地升级之前,需要慢速关机。有关更多信息,请参见MySQL 5.7的变化.(错误# 21508582)
这个问题是Bug #21340268的回归。
InnoDB:在基于使用的外键引用列的虚拟列上不允许使用辅助索引
删除级联
,在删除时设置null
,更新级联
,或更新集为null
.这项限制没有得到执行。(Bug #21508402, Bug #77843)InnoDB:在线DDL操作期间发生的重复键错误报告了错误的键名。(Bug #21364096, Bug #77572)
InnoDB:一个
ALTER TABLE
该操作导致服务器在磁盘已满时退出。(Bug #21326304, Bug #77497)InnoDB:系统表空间数据文件在达到文件大小限制时没有自动扩展,导致启动失败,出现大小不匹配错误,并阻止添加另一个系统表空间数据文件。(Bug #21287796, Bug #77128)
InnoDB:更改一列的字母大小写会导致
.frm
文件和数据字典导致操作失败创建索引
修改后的列上的操作。(错误# 20755615)InnoDB:一个
ALTER TABLE
将表转换为InnoDB
每表文件表空间没有检查与目标同名的未知文件.idb
文件,允许覆盖同名的未知文件。(Bug #19218794, Bug #73225)InnoDB:
row_merge_read_clustered_index ()
未能正确处理大容量加载错误。(错误# 19163625)分区:分区扫描不能正确地计算虚拟生成的列。这可能会导致分区表在虚拟机上有索引的问题
团
列。(Bug #21864838, Bug #21881155)分区:在执行
检查表
,当检查行是否在正确的分区中时,分区引擎错过了虚拟生成列的更新。(错误# 21779554)分区:就地执行
ALTER TABLE
在一个分区上InnoDB
表中有一个或多个使用单独表空间的分区可能导致服务器失败。(错误# 21755994)分区:当所有分区都被修剪后,在索引初始化过程中不会对它们进行初始化扫描。这涉及到两个相关的问题,一个是当索引关闭时,活动索引没有返回到最大键值。此外,当这是多范围读取的一部分时,会尝试访问未设置的变量。(Bug #78260, Bug #21754608, Bug #21620577)
复制:配置的多线程从端上
master_info_repository =表
而且relay_log_info_repository =表
之前运行的是什么自动提交= 1
,如果奴隶被停止和自动提交
更改为0,正在执行开始的奴隶
导致会话看起来挂起。锁等待超时后,当开始的奴隶
接着服务器会意外停止。该修复确保当master_info_repository =表
,relay_log_info_repository =表
,自动提交= 0
为启动和提交生成一个新的事务,以避免死锁。(错误# 21440793)复制:正在忽略刷新或同步二进制日志期间遇到的致命错误。的设置将捕获和处理此类错误
binlog_error_action
.(Bug #76795, Bug #68953, Bug #20938915, Bug #16666407)微软的Windows操作系统:在Windows上查询视图可能导致内存泄漏。(错误# 21908206)
参考文献:此问题是Bug #13901905的回归。
微软的Windows操作系统:在Windows上,当使用共享内存连接试图为OLTP测试创建多个表时,sysbench基准测试工具的“run”命令会挂起。(Bug #21319192, Bug #77481)
JSON:尝试定义对象时返回的错误消息
团
,文本
,JSON
,或几何
列带有默认值(错误1101,ER_BLOB_CANT_HAVE_DEFAULT
)指团
而且文本
只列。方法时,同样的错误适用于这四种类型中的任何一种默认的
选项在列定义中;对应的错误消息现在通过引用来明确这一点JSON
而且几何
还有列。(Bug #78527, Bug #21887035)JSON:使用
JSON_EXTRACT ()
在向表添加虚拟索引后,返回错误的结果。(Bug #78464, Bug #21854241)如果服务器是用
——performance_schema_accounts_size = 0
,查询Performance Schema状态变量表导致服务器退出。(错误# 22131713)对于调试版本,使用
ALTER TABLE
将生成的列添加到表中可能导致死锁。(错误# 22083048)systemd单元文件没有指定
——pid文件
选择mysqld,导致服务器启动失败。单元文件现在包含一个默认值——pid文件
选项。ExecStart
价值。方法中可以重写此默认值override.conf
通过更改PIDFile
而且ExecStart
命令,指定PID文件路径名称。(错误# 22066787)在派生表的选择列表中带有嵌套派生表和标量子查询的查询在某些情况下可能会导致服务器退出。(错误# 22062023)
当mysqld是由
——初始化
,它使用乔恩()
设置数据目录所有者,即使所有权已经正确。这给AppArmor和SELinux带来了问题。服务器现在检查数据目录所有者是否正确,并跳过乔恩()
如果有,请打电话。(错误# 22041387)的生成列表达式计算失败
创建表
或ALTER TABLE
可能导致服务器退出。现在,如果表达式求值导致截断或向函数提供不正确的输入,语句将以错误终止,并拒绝DDL操作。(错误# 22018999)在虚拟机上创建唯一索引
点
列可能导致错误或断言,用于以后的表访问。(错误# 22017616)向新启动的服务器发送负载峰值可能导致Performance Schema分配大量内存,可能导致内存不足故障。(错误# 22006088)
的错误检查缺失可能导致服务器退出
删除
引用用户定义变量的语句。(错误# 21982313)的错误使用可能导致缓冲区溢出
strcpy ()
而且sprintf ()
是纠正。(错误# 21973610)MySQL RHEL5的RPM包创建失败
mysql
系统用户。(错误# 21950975)的列不支持
行
类型,但服务器不阻止创建已生成的已使用的列行
表达式。这些现在都被禁止了。(错误# 21940542)的
version_tokens
插件调用锁定服务的超时值仅为1秒。的默认值lock_wait_timeout
系统变量(即一年)。(错误# 21928198)如果给定一个包含孔洞的多边形或多多边形参数,例如孔洞顶点在位于外环段内部的一点接触到外环,空间函数可能返回无效结果。这可以表现为:
ST_UNION ()
产生无效多边形的;ST_SymDifference ()
产生一个无效的多多边形;ST_Intersection ()
产生一个无效的自相交多边形;ST_Difference ()
生成无效的几何图形。(Bug #21927733, Bug #21927639, Bug #21927558, Bug #21977775)与
STRICT_TRANS_TABLES
启用SQL模式时,无法将数据插入虚拟
类定义的生成列非空
属性。(错误# 21927469)导致OpenSSL随机数生成的Valgrind警告的问题已被纠正。(错误# 21927436)
方法指定的生成列定义
零
属性导致语法错误。(错误# 21900170)使用的存储过程
ST_Area ()
可以为第一次和第二次执行返回不同数量的行。(错误# 21889842)对于内环与外环接触的多边形值,
ST_Buffer ()
可能返回无效的多边形值。(错误# 21871856)两排
线程
性能模式表可以具有相同的属性THREAD_OS_ID
价值。(错误# 21865330)对于调试版本,使用
ALTER TABLE
更改生成列的表达式可能导致服务器退出。(错误# 21854004)改变用户
如果服务器以。启动,则失败——skip-grant-tables
.(错误# 21847825)会话的性能模式读取
野
结构可能会产生竞争条件并导致服务器退出。(错误# 21841412)一个准备好的语句,用于计算
ST_IsSimple ()
或ST_Buffer_Strategy ()
在外部连接中的可空列上,对于第一个和第二个语句执行,可以返回不同的行数。(错误# 21841051)查询
variables_by_thread
在检查新连接的系统变量时,Performance Schema表可能导致服务器退出。(错误# 21840950)空间函数可以读取已经释放的内存。(错误# 21823135)
对于Debian包控制文件,
libnuma-dev
被添加到建立关系
以启用NUMA支持。(错误# 21822631)选择
小数
输入到用户定义变量中的值可能导致服务器退出。(错误# 21819304)重新计算生成的列表达式可能导致访问之前释放的内存和服务器退出。(错误# 21810529)
ST_SymDifference ()
可以对具有自交点的多边形提出断言。(Bug #21767301, Bug #79031, Bug #22124757)用户
审计日志插件的字段输出格式不正确。(错误# 21766380)对于A) A的查询可能会出现服务器出口
集团
包含主键和从键列;和b)在哪里
子句在第一个主键列上包含一个相等谓词,其中该列是常量。(错误# 21761044)使用并行编译构建MySQL有时会在尝试编译时失败
sql_yacc.yy
之前lex_token.h
已经被创造出来。(Bug #21680733, Bug #27470071, Bug #89482)启用二进制日志记录后,发出
删除临时表
当处于XA_IDLE状态时,会引发断言。现在一个ER_XAER_RMFAIL
返回错误。由于修复了此问题,以前在XA_IDLE状态下成功的语句现在在
ER_XAER_RMFAIL
错误。跑步时——gtid-mode =
,显式下降
继续失败ER_GTID_UNSAFE_CREATE_DROP_TEMPORARY_TABLE_IN_TRANSACTION
.(错误# 21638823)类的左侧带有子查询的查询
在
转换为半连接的子查询可能会导致服务器退出。(错误# 21606400)并发
冲洗的特权
而且撤销
或格兰特
语句可能产生一个小的时间窗口,在此期间可能发生对代理用户信息的无效内存访问,导致服务器退出。(错误# 21602056)使用
与汇总
在子查询中可能导致服务器退出。(错误# 21575790)对于调试构建,调用
MAKE_SET ()
如果将子查询作为参数,则可能在锁定表之前求值,从而引发断言。(错误# 21547779)启动服务器
query_alloc_block_size
在内存不足的机器上,将系统变量设置为某些负值可能导致内存不足错误。(错误# 21503595)使用
卸载插件
卸载daemon_example
插件可能导致服务器退出。(错误# 21467458)配置与
-DBUILD_SHARED_LIBS = 1
导致构建错误。感谢SuSE对修正的贡献。(Bug #21387880, Bug #77647)冲洗DES_KEY_FILE
日志含义重新加载DES密钥文件失败。(错误# 21370329)如果在用于计算的子查询物化的设置阶段发生错误
在
谓词时,临时表的清理没有发生,导致Valgrind错误。(错误# 21346081)在写入错误日志时,被MySQL企业防火墙拒绝的查询被截断为512个字符。(错误# 20948270)
在第二次执行准备好的语句时,可能会出现服务器退出
命令
指列位置的子句。(错误# 20755389)如果修改了默认数据库,重复执行准备好的语句可能导致服务器退出。(错误# 20447262)
mysql_plugin可能由于不对字符串操作数进行检查而退出。(错误# 20376670)
在连接处理和释放表描述符期间创建临时表失败后,尝试访问现在无效的描述符可能导致服务器退出。(错误# 19918299)
的类型转换失败
小数
值可能导致服务器退出。(Bug #19912326, Bug #20013538)插入延迟
对于以字符列作为键分区且表达式需要字符集转换的表,可能导致服务器退出。(错误# 19894161)类更新视图时可能会出现服务器出口
所有
从主表中的索引列中进行选择的子查询上的比较运算符。(错误# 19434916)启用AddressSanitizer (ASAN)后,包含null或无效字符的触发器可能导致ASAN服务器退出。(错误# 18831513)
错误的错误检查
NAME_CONST ()
函数可能导致服务器退出。(错误# 17733850)SELinux,mysqld——初始化与一个
init_file
系统变量可能无法初始化数据目录。虽然在5.7.11中修复了,Fedora 23和EL6 5.7.10 RPM也进行了更新;作为*-5.7.10-2
- *。rpm发布到Yum存储库。(Bug #79442, Bug #22314098, Bug #22286481)插入……重复密钥更新
在作为预备语句执行时,可能导致内存泄漏。(Bug #79122, Bug #22151233)这个问题是Bug #21908206的回归。
的结果需要存储的查询
ST_AsWKB ()
在临时表中可能会失败并发出错误消息。(Bug #79060, Bug #22131961)这个问题是Bug #21614368的回归。
如果mysqld开始于
——帮助
选项,它创建了一个二进制日志索引文件。如果该文件位于数据目录中,并且该命令先于数据目录初始化,则初始化会由于数据目录非空而失败。(Bug #78986, Bug #22107047)空间函数的一些源文件
sql
目录占用过多的编译时间,需要太多的编译器内存分配。(Bug #78900, Bug #22078874)中的内部缓冲区大小resolve_stack_dump,以适应c++代码更大的符号空间需求。(Bug #78885, Bug #22071592)
导致Valgrind警告的问题
libmysqld
被纠正。(Bug #78819, Bug #22007587)如果安装MySQL Connector/C开发RPM包,可能导致MySQL开发RPM包安装失败。(Bug #78815, Bug #22005375)
mysqladmin——帮助展示了
旧密码
命令,即使在MySQL 5.7.5中删除了该命令本身。(Bug #78774, Bug #21972941)的
文件名
字符集用于内部使用,但是在SQL语句中引用它不会产生错误。现在他们知道了。(Bug #78732, Bug #21958734)如果生成的列使用受SQL模式影响的表达式,则表达式可能对相同的输入值产生不同的结果,这取决于当前的SQL模式。(例如,解释
||
运算符取决于PIPES_AS_CONCAT
SQL模式。)现在表达式求值使用定义列时有效的SQL模式。(Bug #78665, Bug #21929967)转换较大的十六进制值可能会产生不正确的结果,而且没有截断警告。(Bug #78641, Bug #21922414)
mysqlpump生成的错误
ALTER TABLE
用于添加外键的语句。(Bug #78593, Bug #21907297)执行
帮助
的陈述或陈述CONVERT_TZ ()
函数可能导致内存泄漏和MyISAM
服务器关闭时引用计数错误。(Bug #78443, Bug #21840241)MySQL无法识别从生成的列表达式中的基列到生成的列的函数依赖性。(Bug #78377, Bug #21807579)
可以将非ascii数据存储在用于存储字符集数据的列中
美国信息交换标准代码
.(Bug #78276, Bug #21774967)添加一个
空间
索引到MyISAM
表可能导致其他索引的基数不正确。(Bug #78213, Bug #21789000)MySQL可能在Solaris 11.3上编译失败/usr/gnu/bin/as被用作连接器。(Bug #77797, Bug #21484716)
中的一些标点符号
armscii8
字符集由两种编码表示,其结果是使用一种编码存储的字符在使用另一种编码进行搜索时将找不到。对于这样的字符,MySQL现在选择具有最低值的编码,以一致地将实例映射到相同的编码。(Bug #77713, Bug #21441405)Item_copy_decimal:复制()
没有拿div_precision_increment
系统变量值考虑,导致小数
某些查询返回的值精度不正确。(Bug #77634, Bug #21462523)一个应该返回的聚合函数
零
返回非零
隐式分组;第一部分是字符串列的索引;和一个在哪里
子句带有相等比较,将列与除列值外还有尾随字符的字符串进行比较,(Bug #77480, Bug #21318711)LOAD_FILE ()
如果字符集是,可能导致一些路径名的服务器退出cp932
.(Bug #76555, Bug #20819220)参考文献:参见Bug #51893。
对于诸如
命令
,表达式的字符集被处理为numeric_expr
核对collation_name
latin1
,如果后指定了排序规则,则会导致错误核对
是不兼容的latin1
.的存在时,将数值表达式隐式转换为字符表达式核对
,使用的字符集是与命名排序规则相关联的字符集。(Bug #73858, Bug #20425399)