的
validate_password
插件现在支持拒绝与当前会话用户名匹配的密码的能力,无论是向前还是反向。要启用对该功能的控制,插件公开了一个validate_password_check_user_name
系统变量。默认情况下,该变量是禁用的;在MySQL 8.0中默认为启用。有关更多信息,请参见密码验证插件选项和变量.
在mysql-test-run.pl,将并行测试的worker数量限制为50,这在cpu超过50的系统上导致惟一线程id耗尽。身份证耗尽的问题已得到纠正,工人人数50人的限制已被取消。感谢Daniel Black为这个改变提供的补丁。此外,还做了以下修改:
为了避免闲置的工作线程,并行工作线程的数量现在被限制为测试的数量。
以前,如果
——平行=汽车
被赋予MTR_MAX_PARALLEL
没有设置环境变量,对并行工人的数量设置了8的限制。这一限制已被取消。
(Bug #22342399, Bug #79585)
InnoDB:一个新的动态配置选项,
innodb_deadlock_detect
,可用于禁用死锁检测。在高并发性系统上,当多个线程等待同一个锁时,死锁检测可能会导致速度变慢。方法可能更有效,有时禁用死锁检测并依赖于innodb_lock_wait_timeout
设置发生死锁时的事务回滚。(错误# 23477773)单元文件的systemd支持脚本(
mysqld_pre_systemd
)现在仅当它的位置匹配模式/var/log/mysql*.log时,才会帮助创建错误日志文件。在其他情况下,错误日志目录必须是可写的,或者错误日志必须存在并且对于运行mysqld的过程。同时,mysqld_pre_systemd
现在避免创建不安全的临时文件。(错误# 24516262)的CMake
WITH_LZ4
选项被添加到控制编译期间使用哪个LZ4库。默认情况下WITH_LZ4
设置为捆绑
,因此使用MySQL提供的库。设置WITH_LZ4
来系统
使用操作系统中的LZ4库。(错误# 23607230)
InnoDB:一个
修改表…加密= ' Y ',算法=副本
对位于system表空间中的表的操作引发断言。(错误# 24381804)InnoDB:在Fusion-io磁盘上创建加密表
innodb_flush_method
设置O_DIRECT
造成致命错误。(Bug #24329079, Bug #82073)InnoDB:删除并创建全文搜索表的操作抛出断言。(错误# 24315031)
InnoDB:在删除索引表的同时访问全文搜索辅助表会引发断言。(错误# 24009272)
InnoDB:在有索引的表上的在线DDL操作
团
列在记录表修改时引发断言。(错误# 23760086)InnoDB:在某些情况下,定位与给定指针对应的缓冲池块的代码返回了错误的块。感谢Alexey Kopytov的补丁。(Bug #23631471, Bug #79378)
InnoDB:全局计数器(
ut_rnd_ulint_counter
)被更改为线程本地计数器,以使其在多核系统上可伸缩。(Bug #22733635, Bug #80354)复制:加上
transaction-write-set-extraction = XXH64
选项使用liblz4中的xxHash符号。尽管xxHash符号是由liblz4导出的,但是头文件不是API的一部分,因此在用构建时编译失败WITH_LZ4 =系统
.该修复确保xxHash是独立于liblz4构建的,以便在使用系统和绑定的LZ4库时都可用。(Bug #82426, Bug #24399819)参考文献:参见Bug #23607230。
复制:Mysqlbinlog——read from-remote-server log1 log2开通新的连接是为了什么
log2
没有释放用于的连接log1
.感谢Laurynas Biveinis的贡献。(Bug #81675, Bug #23540182)复制:MTR二进制日志测试套件无法清除复制的文件。感谢Daniel Black的贡献。(Bug #80881, Bug #23016254)
复制:与
binlog_row_image =全
,当更新单个表时,正在不必要地使用临时表。该修复确保单表更新遵循与多表更新相同的模式。(Bug #79867, Bug #22510353)Solaris:方法在Solaris上构建客户端库失败
Cstd
图书馆。(Bug #24353920, Bug #82347)mysqld_safe试图阅读
my.cnf
在数据目录中,尽管这不再是标准的选项文件位置。(错误# 24482156)为mysqld_safe,论证到
——malloc-lib
Now一定是其中一个目录特性
,/usr/lib64
,/usr/lib/i386-linux-gnu
,或/usr/lib/x86_64-linux-gnu
.此外,——mysqld
而且——mysqld-version
选项只在命令行中被接受,而不在选项文件中。(错误# 24464380)参考文献:参见Bug #24619033, Bug #82920。
可以写入以。结尾的日志文件
. ini
或.cnf
之后可以将其解析为选项文件。普通查询日志和慢查询日志不能再写入以. ini
或.cnf
.(错误# 24388753)通过利用这种方式,特权升级成为可能
修理表
使用的临时文件。(错误# 24388746)如果
basedir
系统变量在服务器从命令行或选项文件启动时设置,该值没有规范化(在Windows上,/
没有被替换为\
).(Bug #23747899, Bug #82125)修改了Kevent语句定时器子系统的去初始化,以避免mysqld在OS X 10.12上关机时挂起。(Bug #23744004, Bug #82097)
对于多个账户
格兰特
语句应用,mysqlpump可能都甩不掉。(错误# 23721446)的
MYSQL_ADD_PLUGIN
宏有一个拼写错误,导致MYSQL_SERVER
不需要定义。(Bug #23508762, Bug #81666)就地
ALTER TABLE
单独执行时不会导致表重构的操作组合成单个语句时可能会导致表重构。(Bug #23475211, Bug #81587)对于密匙环插件,现在只在必要时创建数据访问层,而不是每个操作一次,这提高了密匙环的性能。(错误# 23337926)
中的空白服务器名
创建服务器
语句产生服务器退出,而不是错误。(错误# 23295288)优化器未能检查用于区域计算的函数返回值,导致服务器退出。(错误# 23280059)
服务器可能无法释放分配给执行使用生成列的查询的内存。(错误# 23205454)
这个问题是Bug #22392268的回归。
mysqlpump在触发器主体中包含多条语句的触发器的输出未能正确加载。(错误# 23072245)
满足以下条件的查询可以返回与MySQL 5.6不同的结果:1)选择列表中出现子查询;2)子查询包含一个
在哪里
在外部查询中引用值的条件;3)外部查询包含一个集团
这需要创建一个临时表。(错误# 23049975)被拒绝的密码
validate_password
插件被服务器以明文形式写入错误日志。(错误# 22922023)使用作为连接一部分的派生表的选择列表中的参数的准备语句可能导致服务器退出。(Bug #22392374, Bug #24380263)
MEDIUMINT
在具有长整数值的操作中使用的列可能导致缓冲区溢出。(错误# 19984392)一个假的
ER_NO_SUCH_TABLE
在尝试执行已准备的创建表…选择
中使用临时表的语句从
子句并调用了一个存储函数。如果在存储过程中重新执行该过程,则该语句的非准备版本也可能发生相同的错误。(Bug #16672723, Bug #68972)捕获
已经修复了客户端库中的处理,以便重试中断的读写调用。在此之前,捕获
被忽视了。(Bug #82019, Bug #23703570)