MySQL Server现在包含一个插件库,它使管理员能够在一定数量的连续的连接尝试后对客户端的服务器响应延迟延迟。此功能提供了一种威慑,使得尝试访问MySQL用户帐户的蛮力攻击。有关更多信息,请参见连接控制插件。
MySQL企业版的企业加密现在允许服务器管理员通过设置环境变量来限制最大密钥长度。通过将非常长的密钥长度传递给密钥生成操作,可以防止客户端使用过多的CPU资源。有关更多信息,请参见MySQL企业加密的用法和示例。(bug#19687742)
不兼容的更改:这些变化是为了mysqld_safe.:
不安全使用R M和ch在mysqld_safe.可能导致特权升级。ch现在只能在目标目录时使用
/var/log
。一个不兼容的更改是,如果Unix套接字文件的目录丢失,则不再创建它;相反,会出现一个错误。由于这些变化,/bin/bash需要运行mysqld_safe.在Solaris上。/ bin / sh仍然用于其他UNIX / Linux平台。这
- lexir.
选项现在仅在命令行上接受,而不是选项文件。mysqld_safe.忽略当前的工作目录。
其他相关更改:
调用的初始化脚本mysqld_safe.经过
- 巴西尔
明确。初始化脚本仅当基本目录是时才创建错误日志文件
/var/log
或者/ var / lib
。删除了用于SLES的未使用的Systemd文件。
(Bug #24483092, Bug #25088048, Bug #25378439, Bug #25378565)
参考文献:另见:bug#24464380,bug#24388753,bug#24619033,bug#82920。
OpenSSL在2016年12月结束了对1.0.1版的支持;看https://www.openssl.org/policies/releasestrat.html。因此,MySQL商业服务器现在建立使用版本1.0.2而不是版本1.0.1,而MySQL商业服务器的链接OpenSL库已从版本1.0.1到1.0.2j。有关此版本中修复的问题的描述,请参阅https://www.openssl.org/news/vulnerabilities.html.。
此更改不会影响MySQL Server的Oracle生成的MySQL社区构建,它使用yassl库。
InnoDB:默认情况下,
Innodb.
在计算统计数据时读取未提交的数据。对于从表中删除行的未提交事务,Innodb.
排除在计算行估计值和索引统计信息时被删除标记的记录,这可能导致使用非事务隔离级别(而不是)对表并发操作的其他事务的非最佳执行计划阅读未提交
。为了避免这种情况,一个新的配置选项,innodb_stats_include_delete_marked
,可以启用以确保Innodb.
包括计算持久优化器统计信息时删除标记的记录。(bug#23333990)单元测试现在使用Google Mock 1.8。(bug#24572381,bug#82823)
不兼容的更改:MySQL 5.6.32中的更改,用于处理多字节字符集
加载数据
由于复制不兼容(bug#24487120,bug#82641)被恢复参考资料:参见Bug #23080148。
InnoDB:GCC.
mach_parse_compressed
函数应根据第一个字节的值加载1到5个字节。由于GCC bug, GCC 5和6会在第一个字节值被检查之前加载4个字节(GCC bug #77673)。一个变通方法可以防止这种行为。感谢Laurynas Biveinis提供的贴片。(Bug #24707869, Bug #83073)InnoDB:由于
glibc.
Bug,短暂的独立线程可以在呼叫者退回之前退出pthread_create ()
,导致服务器退出。感谢Laurynas Biveinis提供的贴片。(Bug #24605956, Bug #82886)InnoDB:在表格上的表格重建操作期间,只有生成的群集索引(
gen_clust_index.
)由于包含无效密钥名称而引起的引发和断言。(bug#24444831)InnoDB:在没有明确定义的主键的表上,
Innodb.
没有替换隐式群集索引(gen_clust_index.
对象上定义唯一键时没有空
柱子。(bug#24397406)InnoDB:
Innodb.
无法使用全文优化器线程使用的空闲内存。(bug#24331265)InnoDB:
显示发动机InnoDB状态
输出显示A.“打扫干净“闲置线程的状态。语句执行后未重置线程状态信息。(bug#21974225,bug#78777)InnoDB:服务器重新启动后,并发
插
对具有自动递增主键的表进行操作会导致重复条目错误。当前的自动增量值在之后没有更改auto_increment_increment
和auto_increment_offset.
设置被修改。(Bug #20989615, Bug #76872)复制:特殊表格
默认的
列,如默认CURRENT_TIMESTAMP
,仅在使用基于行的复制时,仅在从站上存在(binlog_format =行
)。(错误# 22916743)复制:当服务器处于提交阶段时启用半同步复制可能会导致主服务器意外停止。这与Bug# 75570的补丁有关。(错误# 22202516)
复制:错误#81657的修复程序未正确合并到MySQL 8.0中。感谢Laurynas Biveinis提醒我们。(bug#83124,bug#24715790)
一些Linux启动脚本没有处理
datadir.
设置正确。(bug#25159791)创建表
现在需要文件
特权如果数据目录
或者索引目录
显式指定为表或分区选项。改变表
要求文件
如果将其中一个选项显式指定为分区选项(如果指定为表选项,则忽略它们),则授予特权。(错误# 25092566)OEL RPM软件包现在更好地检测有哪些平台具有Multilib支持(可以安装32位和64位库)。感谢Alexey Kopytov的补丁。(bug#24925181,bug#83457)
使用Microsoft Visual Studio 2015版本14.0.25420.1编译MySQL
Relwithdebinfo.
模式失败,链接错误。(bug#24748505)警告发生在
创建表……选择
可能导致服务器退出。(bug#24595992)对于FreeBSD上的分段故障,服务器未生成堆栈跟踪。(bug#24566529,bug#23575445,bug#81827)
这
.mylogin.cnf
选项文件适用于客户端程序,但服务器也在读取它。服务器不再读取它。(bug#24557925)如果mysqladmin关闭遇到了确定服务器进程ID文件的错误,它显示了一个错误消息,该消息没有明确表示错误是非尚。它现在表明执行仍在继续。(bug#24496214)
用于的数据结构
Zerofill.
列可能会遇到内存损坏,最终导致服务器退出。(错误# 24489302)使用非常长的子分区名称可能会导致服务器退出。现在分区或分区名称大于64个字符会产生一个
er_too_long_ident.
错误。(Bug #24400628, Bug #82429)在Solaris上,
gettimeofday ()
可能返回无效值并导致服务器关闭。(错误# 23499695)一个联盟查询导致元组大于
max_join_size.
可能导致服务器退出。(错误# 23303485)优化器可以选择
裁判
访问一个二级索引,而不是范围
即使成本较高,也要访问主键。(bug#23259872,bug#81341)对于一些深刻的嵌套表达式,优化器无法检测到堆栈溢出,从而导致服务器出口。(bug#23135667)
当服务器脱机时,Performance Schema中的竞态条件可能导致服务器退出。(错误# 22551677)
性能模式
events_statements_summary_by_digest
表可以包含同一语句摘要和架构组合的多行,而不是预期的单个(唯一)行。(bug#22320066,bug#79533)对于调试构建:将唯一索引添加到a
点非空
列触发了警告,密钥未被促使到主键。在不同的非界面创建唯一索引空值
然后在同一表中引发断言。(Bug #19635706, Bug #24469860)使用Clang 3.5或更高版本编译并启用地址杀毒器(ASAN)会导致
Gen_lex_Hash.
在Clang Leaksanitizer内存泄漏检查故障中中止的实用程序。(bug#76351,bug#20720615,bug#22558597,bug#80014)在有大量并发服务器连接的情况下,qsort操作的内存需求的错误计算可能会导致堆栈溢出错误。(Bug #73979, Bug #19678930, Bug #23224078)