MySQL企业版现在包括MySQL企业防火墙,这是一种应用程序级别的防火墙,允许数据库管理员根据对接受的语句模式白名单的匹配来允许或拒绝SQL语句的执行。这有助于增强MySQL Server对诸如SQL注入或试图利用应用程序在其合法查询工作负载特征之外使用它们的攻击的防御能力。
每个注册到防火墙的MySQL帐户都有自己的语句白名单,支持为每个帐户量身定制保护。对于一个给定的帐户,防火墙可以以记录或保护模式运行,以训练接受的语句模式或防止不可接受的语句。有关更多信息,请参见MySQL企业防火墙.
CMake支持已更新为处理CMake3.1版。(错误# 20344207)
服务器现在在写入初始值时包含它的版本号”开始”消息,以便更容易地确定应用于哪个服务器实例的错误日志输出。该值与可用的
版本
系统变量。(Bug #74917, Bug #20052694)ALTER TABLE
没有利用可能适用于要执行的操作的快速更改,如果表包含的时态列被发现为5.6.4以前的格式(时间
,DATETIME
,时间戳
不支持小数秒精度的列)。相反,它通过重建表来升级表。两个新的系统变量支持对这些列的升级控制,并提供关于它们的信息:avoid_temporal_upgrade
控制是否ALTER TABLE
隐式升级5.6.4以前格式的时态列。默认情况下该变量是禁用的。启用它会导致ALTER TABLE
不重建时间列,从而能够利用可能的快速更改。show_old_temporals
控制是否显示创建表
输出包括标记5.6.4以前格式的时态列的注释。的输出COLUMN_TYPE
的列INFORMATION_SCHEMA。列
表也受到类似的影响。默认情况下该变量是禁用的。
这两个变量都已弃用,将在未来的MySQL版本中删除。(Bug #72997, Bug #18985760)
以前由Performance Schema完成的语句消化现在是在SQL级别完成的,而不管Performance Schema是否在SQL中编译,是否可用于服务器操作的其他方面,从而从中受益。可用于消化的默认空间是1024字节,但是可以在服务器启动时使用
max_digest_length
系统变量。参考文献:参见Bug #18304086, Bug #20015246。
InnoDB:一个
截断表
临时表上的操作引发断言。重新加载时,临时表对象未完全构造SYS_TABLES
.(Bug #20527363, Bug #72080)InnoDB:全文短语搜索返回不正确的结果。对新插入的行进行标记时,空字符串处理错误。(Bug #20465273, Bug #75755)
InnoDB:优化
全文
Index引发断言。a的最后一个优化词全文
索引存储在配置
表格价值
列,定义为CHAR(50)。当最后一个优化的单词长度大于50个字符时,将引发断言。的配置
表格价值
列定义为CHAR(200)在MySQL 5.6.24和MySQL 5.7.6。如果你的
innodb_ft_max_token_size
设置大于50时,建议重新创建现有的InnoDB
全文
在升级到MySQL 5.6.24或MySQL 5.7.6后,可以避免此问题。全文
升级到MySQL 5.6.24或MySQL 5.7.6后创建的索引不受影响。(错误# 20418326)InnoDB:一个
InnoDB
memcachedextra_col_value []
数组在未检查已分配标志的情况下被释放,导致服务器退出。(错误# 20400373)InnoDB:在进行刷新操作时执行的DML操作会引发与memcached相关的断言。(错误# 20390277)
InnoDB:的memcached
process_arithmetic_command
提出了一个断言。为不存在的对象返回错误的错误代码12月
关键。(错误# 20386835)InnoDB:过期时间(
exptime
)使用memcached集
命令被忽略。InnoDB
memcached将过期时间设置为一个间隔值,而不是系统时间值。(Bug #20381342, Bug #70055)InnoDB:在进行全文搜索时抛出了一个断言
fts_savepoint_release ()
函数释放了命名事务保存点和所有后续的保存点。应该只释放初始保存点。(错误# 20341916)InnoDB:一个全文搜索优化操作提出了一个断言。(错误# 20281800)
InnoDB:由于MySQL 5.6.20引入了一个回归,mysqld停止没有阻止mysqld服务器进程,而
InnoDB
memcached插件处于活动状态。(Bug #20078646, Bug #74956)这个问题是:Bug #18409840的回归。
InnoDB:一个
修改表…重命名
在桌子上失败了全文
Index引发断言。(错误# 20043707)InnoDB:日志应用阶段发生严重错误
ALTER TABLE
操作,将一个包含UTF-8字符集的表转换为ROW_FORMAT =冗余
.(Bug #19843246, Bug #19895661, Bug #20219871)InnoDB:创建虚拟表时,将使用
autoinc_mutex
的成员dict_table_t
对象不必要地创建。类似地,zip_pad.mutex
的对象dict_index_t
对象为虚拟索引不必要地创建。为了避免不必要的互斥锁争用,autoinc_mutex
而且zip_pad.mutex
现在在第一次锁尝试时分配和初始化对象。(Bug #19788198, Bug #73361)InnoDB:一个
修改表…重命名
操作引发无效断言。断言代码使用了错误的事务对象。(错误# 18523599)参考文献:此问题是Bug #17447500的回归。
InnoDB:一个memcached
附加
操作INT
列导致分割错误。附加
上的操作INT
不支持列,现在被阻塞。(Bug #75200, Bug #20209756)分区:一些
ALTER TABLE
当分区表的写锁生效时,试图向分区表添加分区、列或索引的语句没有得到正确处理。(错误#74451,错误#74478,错误#74491,错误#74560,错误#74746,错误#74841,错误#74860,错误#74869,错误#19856162,错误#19864284,错误#19873019,错误#19891663,错误#19990815,错误#20026661,错误#20031966,错误#20033503,错误#19827845)复制:当从MySQL 5.7.6或更高版本的服务器复制到MySQL 5.6.23或更早版本的服务器时,如果旧版本的应用程序线程遇到
Anonymous_gtid_log_event
它导致了断言。这个修复确保了MySQL 5.7.6和更高版本中添加的这些新的日志事件不会在MySQL 5.6.24和更高版本的从库中引起这个问题。如果gtid_mode
是从
应用程序线程遇到一个Gtid_log_event
,应用程序线程终止并出现错误。如果gtid_mode
是在
应用程序线程遇到一个Anonymous_gtid_log_event
,应用程序线程终止并出现错误。(错误# 20436436)复制:当
automatic_sp_privileges
变量设置后,服务器自动授予执行
而且改变日常
如果用户还没有这些特权,则将这些特权授予存储例程的创建者。当特权用户使用定义者
作为主服务器上的非特权用户,当前用户被认为是特权用户mysql.procs_priv
表未更新。当这样的语句被复制到slave时,非特权定义者
被认为是从机上的当前用户,正在分配特权。这导致在主服务器和从服务器上分配的特权不同。该修复确保存储例程的创建者被添加到二进制日志中,从服务器现在首先检查用户是否存在,然后再授予特权。要保持与以前版本的兼容性,可以使用定义者
时使用。调用程序
不可用。作为此修复的一部分,可以使用匿名用户从主服务器复制到从服务器。(错误# 20049894)复制:当使用配置为使用特殊字符集(如UTF-16、UTF-32或UCS-2)的从机时,接收(I/O)线程连接失败。该修复确保在这种情况下,如果不支持从的字符集,则默认使用
latin1
字符集。(错误# 19855907)复制:二进制日志组提交的内部问题导致与
threadpool
插件。(错误# 18845301)复制:当
gtid_mode =对
而且slave_net_timeout
设置为较低的值,则从I/O线程可能出现挂起。这是因为当转储线程发现许多可以跳过的事件时,从心跳没有足够规律地发送。该修复确保在这种情况下心跳被正确发送。(Bug #74607, Bug #19975697)CMake未能正确检测OpenSSL最新版本的OpenSSL版本(版本字符串的格式更改了)。(错误# 20756770)
在执行准备好的语句时,没有检查审计日志插件是否返回错误,因此可能会错误地返回语句success。(错误# 20567900)
Debian软件包缺少一些依赖项。(错误# 20561621)
在执行
授予……授予选项
语句时,使用视图执行准备好的语句可能会导致服务器退出。(错误# 20030284)名称为的用户
event_scheduler
可以查看事件调度器流程列表,而无需过程
特权。(Bug #20007583, Bug #20754369)控件中删除列后,试图创建一个用户
mysql.user
表可能导致服务器退出。(错误# 19910140)用电脑点菜
GROUP_CONCAT ()
结果可能导致服务器退出。(Bug #19880368, Bug #20730220)一个畸形的
mysql.proc
表行可能导致的服务器出口删除数据库
关联的数据库的proc
行。(错误# 19875331)秀奖助金
在使用代理用户连接之后,可以显示代理用户的密码哈希。(错误# 19817663)的大值
transaction_prealloc_size
系统变量可能导致服务器分配过多的内存。最大值已经调整到128K。也做了类似的更改transaction_alloc_block_size
.如果需要,事务仍然可以分配超过128K;此更改减少了可预分配的数量,以及增量分配块的最大大小。(Bug #19770858, Bug #20730053)的某些查询
INFORMATION_SCHEMA。INNODB_FT_CONFIG
表可能导致服务器退出。(错误# 19703520)类比较两行的查询可能会出现服务器出口
< = >
操作符和行属于不同的字符集。(Bug #19699237, Bug #20730155)某些
InnoDB
错误导致存储函数和触发条件处理程序被忽略。(Bug #19683834, Bug #20094067)由于不正确地将不正确的字段与临时表关联,优化器可能会引发断言。(Bug #19612819, Bug #20730129)
未对连接事件进行审计日志过滤。(错误# 19509398)
与
audit_log_connection_policy =错误
,成功的COM_QUIT
事件被错误地写入审计日志。与audit_log_statement_policy =没有
,则没有连接事件写入审计日志,无论当前audit_log_connection_policy
设置。(Bug #19509373, Bug #21027210)的值
Audit_log_events
状态变量不等于其他审计日志计数器的总和。(错误# 19509336)的
Audit_log_events_filtered
在过滤审计日志事件时,状态变量没有增加。(错误# 19509263)MySQL 5.6.20的审计日志插件增加了许多新特性,但版本号没有增加。版本已经升级到1.1。(错误# 19502900)
由于优化器未能分配足够的内存来解析外部引用,服务器可能退出。(Bug #18782905, Bug #19892803)
如果在服务器启动时发现审计日志文件被损坏,则不会总是写入适当的错误消息。此外,如果加载了插件,它将被初始化,而不管日志是否损坏,除非重命名日志文件失败。(错误# 14584292)
创建一个
联邦
有扶手的桌子AUTO_INCREMENT
列使用就像
子句导致服务器退出。(错误# 12671631)修正了许多代码问题,这些问题导致编译器对数组边界、可能未初始化的变量和已设置但未使用的变量发出警告。(Bug #75735, Bug #20458574)
零
作为表达式不能识别为计算性能模式语句摘要的文字。(Bug #74813, Bug #20015246)的
group_concat_max_len
可以在运行时将系统变量设置为最大值,但不能在选项文件中设置。(Bug #74037, Bug #19670915)服务器警告错误消息引用了过时的
table_cache
系统变而不来table_open_cache
.感谢Daniël van Eeden提供补丁来修复一些实例。(Bug #73373, Bug #19285052, Bug #75081, Bug #20135780)在
DIGEST_TEXT
列的性能模式语句事件表,引用系统变量的形式@@
存储为var_name
@ @
.(Bug #71634, Bug #18304086)var_name
如果
WITH_SSL
CMake选项指定了错误的SSL安装路径或不支持的(太旧的)SSL安装路径,则该选项将隐式更改为捆绑
value和yaSSL代替。现在CMake退出并显示错误,以便用户知道必须更改选项值。(Bug #69744, Bug #17162055)mysql_real_connect ()
如果服务器没有运行,可以关闭文件描述符两次。(Bug #69423, Bug #19226740)只有在启用了通用查询日志的情况下,审计日志插件才会收到通用日志的事件通知。现在,不管是否启用了通用查询日志,都会发布通知。(Bug #60782, Bug #12368204, Bug #20536590, Bug #75796, Bug #20479643)