从MySQL 5.6.7开始,Oracle不再为OS X 10.5、Debian 5、RHEL/OL 4、SLES 10、FreeBSD 7、Windows XP或Windows 2003提供二进制文件。
这个版本延续了MySQL 5.6.6开始的修改服务器参数默认值的过程。这些更改的动机是提供更好的开箱即用性能,并减少数据库管理员手动更改设置的需要。随着我们获得反馈,这些变化将在未来的版本中进行修订。
下表总结了对默认值的更改。通过在服务器启动时指定显式值,可以覆盖这些默认设置中的任何一个。
参数 旧的违约 新的默认 innodb_data_file_path
ibdata1:10M: autoextend ibdata1:12M: autoextend
以下项目已弃用,并将在未来的MySQL版本中删除。在显示替代方案的地方,应该更新应用程序以使用它们。
未使用的
date_format
datetime_format
time_format
,max_tmp_tables
系统变量。过时了的
mysql.host
表格新的MySQL 5.6安装将不再创建这个表。升级,mysql_upgrade将检查此表,如果它非空,则发出关于已弃用的警告。(无证)
——插件
控制插件选项的语法xxx
xxx
.
未使用的
multi_range_count
系统变量现在已弃用,并将在未来的版本中删除。在MySQL 5.6.6中
插入延迟
已弃用,将在未来的版本中删除。同样的道理现在也适用于延迟
相关系统变量delayed_insert_limit
,delayed_insert_timeout
,delayed_queue_size
,max_delayed_threads
,max_insert_delayed_threads
,延迟
相关状态变量Delayed_errors
,Delayed_insert_threads
,Delayed_writes
,Not_flushed_delayed_rows
.
重要的变化;分区:用户分区表的最大分区数从1024增加到8192。(错误# 11755685)
性能;InnoDB:全新设定
O_DIRECT_NO_FSYNC
已添加到innodb_flush_method
配置选项。此设置类似于O_DIRECT
,但省略了后续内容fsync ()
调用。适用于某些文件系统,但不适用于其他文件系统。(Bug #11754304, Bug #45892)InnoDB:的
——innodb-read-only
选项让你在只读模式下运行MySQL服务器。你可以访问InnoDB
表在只读媒体(如DVD或CD)上,或者建立一个数据仓库,其中有多个实例共享相同的数据目录。看到配置InnoDB只读操作有关使用细节。(错误# 14143600)InnoDB:新
INFORMATION_SCHEMA
表,innodb_cmp_per_index
而且innodb_cmp_per_index_reset
,提供有关InnoDB
使用的表压缩.索引级别的统计信息让dba度量压缩操作成功或失败的比例对于表、索引、页面大小,工作负载.通常,压缩失败率应该小于10%,特别是在使用压缩表处理频繁出现的oltp风格工作负载时插入
,更新
,或删除
操作。因为收集这些统计信息可能非常耗时,而且会对性能造成负面影响,所以只有在启用新配置选项时才启用新表
innodb_cmp_per_index_enabled
设置为在
.(这是从
默认情况下)。InnoDB:中的每个数据块
InnoDB
压缩表中包含一定量的空白空间(填充)以允许DML无需重新压缩新值即可修改行数据的操作。过多的填充会增加压缩失败的机会,当数据在大量更改后确实需要重新压缩时,需要进行页面分割。填充量现在可以动态调整,这样dba就可以降低压缩失败率,而无需使用新参数重新创建整个表,或使用不同的页面大小重新创建整个实例。相关的新配置选项为innodb_compression_failure_threshold_pct
,innodb_compression_pad_pct_max
InnoDB:您现在可以选择压缩水平
InnoDB
压缩表,从熟悉的0-9范围使用zlib
.压缩级别由innodb_compression_level
配置选项,默认值为6:提高压缩级别会增加CPU开销,可能会减少任何特定行所需的存储量,从而降低压缩失败和后续页分割的可能性。
降低压缩级别可以降低CPU开销,可能会增加任何特定行所需的存储量,增加压缩失败和后续页分割的可能性。
当更新操作导致页面再次压缩时,您还可以控制是否将缓冲池中压缩的页面存储在重做日志中。控件控制此行为
innodb_log_compressed_pages
配置选项。关闭压缩页面的日志记录可以减少生成的重做数据量,可能会提高吞吐量。期间是否需要压缩的页面崩溃恢复,此时再次压缩。当MySQL配置为
-DWITH_SSL =系统
使用OpenSSL构建,如果OpenSSL版本高于1.0.1,CMake现在会产生错误(Bug #14167227)的默认值已从false更改为true
——secure-auth
选择mysql和MYSQL_SECURE_AUTH
选项。mysql_options ()
C语言API函数。(错误# 13789417)的
WITH_SSL
选项CMake现在接受path_name
值,该值指示要使用的OpenSSL安装的路径名称。这可能比值更有用系统
当CMake代码检测到较旧或不正确安装的OpenSSL版本时。(另一种允许执行相同操作的方法是设置CMAKE_PREFIX_PATH
选项path_name
(Bug #61619, Bug #12762891)服务器现在发出一个
请注意
诊断是否创建了与现有索引重复的索引。(Bug #37520, Bug #11748842)MySQL客户端库现在包含内置的SSL支持。当链接MySQL客户端程序时,您不应该再指定任何一个
-lssl
或-lcrypto
.参考:参见Bug #12762891, Bug #14167227。
的
mysql_clear_password
Cleartext客户端身份验证插件用于要求服务器接收在客户端输入的密码的身份验证方案,而不需要散列。因为密码是以明文方式发送的,所以这个插件应该在加密连接(比如SSL连接)的上下文中使用,以避免在网络上暴露密码。为了减少无意中使用这个插件的可能性,现在要求客户端显式启用它。有几种方法可以做到这一点:设置
LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN
为开头的值1
,Y
,或y
.这将为所有客户端连接启用插件。的mysql,mysqladmin,mysqlslap客户端程序支持
——enable-cleartext-plugin
选项,在每次调用的基础上启用插件。的
mysql_options ()
C API函数支持MYSQL_ENABLE_CLEARTEXT_PLUGIN
选项,在每个连接的基础上启用插件。同样,任何使用libmysqlclient
并且读取选项文件可以通过包含一个enable-cleartext-plugin
客户端库读取的选项组中的选项。
不兼容的更改:使用
ALTER TABLE
更改外键列的定义可能会导致引用完整性的损失。例如,更改包含的外键列零
价值非空
导致了零
值为空字符串。同样,一个修改表忽略
删除父表中的行可能会破坏引用完整性。服务器现在禁止更改可能导致引用完整性损失的外键列。一个变通办法就是使用
修改表…删除外键
在更改列定义和之前修改表…添加外键
之后。(Bug #46599, Bug #11754911)重要的变化;复制:当在一个正在进行的事务中发出时,下面用于控制MySQL Replication的任何语句现在都会导致事务被提交:
有关更多信息,请参见导致隐式提交的语句.(错误# 13858841)
参考:参见Bug #14298750, Bug #13627921。
重要的变化:的
改变用户
语句中清除了用户密码mysql.user
表格它不再这样做了。(错误# 14226518)重要的变化:以前,
ExtractValue ()
而且UpdateXML ()
函数支持作为参数提供的XPath表达式的最大长度为127个字符。这一限制现在已被取消。(错误#13007062,错误#62429)性能;InnoDB:的性能
InnoDB
memcached插件的几种方式:后台线程周期性地通过提交对数据库所做的更改memcachedAPI调用。这个基于时间而不是操作数量的提交间隔允许您增加的值
daemon_memcached_w_batch_size
而且daemon_memcached_r_batch_size
当DML活动不频繁时,就不会有一些更改未提交的风险。方法来控制这些自动提交的频率innodb_api_bk_commit_interval
配置选项。当二进制日志支持通过
innodb_api_enable_binlog
配置选项时,可以增大值daemon_memcached_w_batch_size
高于默认值1,允许多个DML操作一起提交,而不是每个操作单独提交。在内部,效率互斥锁对于涉及。的操作,表的打开/关闭得到了改进memcached插件。
(错误# 14252821)
性能;InnoDB:此修复删除冗余校验和验证
InnoDB
页面.在从磁盘读取压缩页和解压页时,都在验证校验和。现在,只有在从磁盘读取该页时才执行验证。(Bug #14212892, Bug #64170)性能;复制;Solaris:在Solaris系统上,启用
slave_parallel_workers
可能导致从服务器上的事件执行速度减慢。(错误# 14641110)参考:参见Bug #13897025。
性能;复制:当
slave_parallel_workers
启用时,表示工作队列中超过某个溢出级别的事件数的内部乘数永远不会重置为零,即使已经处理了溢出级别;这导致乘数随着时间的推移不断增长,导致从服务器上的事件执行速度减慢。(错误# 13897025)性能:视图定义(载于
.frm
文件)没有被缓存,因此每次对视图的访问都涉及到文件读取。定义现在被缓存以获得更好的性能。(错误# 13819275)性能:子查询物化的某些实例可能导致较差的性能。子查询物化现在只在成本低于子查询物化时才被选择
存在
转换。(见使用物化优化子查询,使用EXISTS策略优化子查询.)属性的新标志
optimizer_switch
系统变量名为subquery_materialization_cost_based
.如果旗帜是在
(默认值),优化器在子查询实体化和In ->存在
子查询转换(如果可以使用任何一种方法)。如果旗帜是从
,优化器选择子查询物化In ->存在
子查询转换,这是前面的行为。(错误# 13111584)InnoDB;分区:一个
选择
从一个分区InnoDB
没有主键的表有时无法返回预期结果为非空的任何行。在这种情况下,服务器也会返回错误找不到记录table_name
或表的密钥文件不正确table_name
.(错误# 13947868)InnoDB:在配置InnoDB memached插件系统表时,
INNODB_MEMCACHE。容器
,逗号(”,”)和空格用作分隔符,用于将多个列映射到memcached值。此修复允许管道字符,(”|
”),亦用作分隔符。(错误# 14560228)InnoDB:在Windows系统上,由于的值不正确而导致的文件访问错误
MYSQL_DATADIR
可能会引起InnoDB
断言错误。重新启动MySQL后,错误可能会持续存在。(错误# 14558324)InnoDB:对象中插入不同记录长度的数据
InnoDB
使用的表压缩可能导致服务器因错误而停止。(Bug #14554000, Bug #13523839, Bug #63815, Bug #12845774, Bug #61456, Bug #12595091, Bug #61208)InnoDB:的默认值
innodb_checksum_algorithm
,它被短暂地改为crc32在MySQL 5.6开发周期中,被切换回innodb
提高兼容性InnoDB
数据文件在降级到较早的MySQL版本。(错误# 14525151)InnoDB:在一个
ALTER TABLE
重建一个表,特别是,添加一列
,删除列
,有一些断言失败与全文
索引,特别是包含多个表的索引全文
索引。修复使ALTER TABLE
正确使用或不使用在线DDL取决于是否存在全文
索引。如果一张桌子有一个全文
索引被删除后,对该表的在线DDL的任何限制仍然存在,因为隐藏的FTS_DOC_ID
列。(错误# 14488218)InnoDB:在一定条件下
innodb_io_capacity_max
配置选项现在使用以下公式来计算默认值:Innodb_io_capacity_max = max(2000, innodb_io_capacity * 2)
的值时,该公式才有效
innodb_io_capacity
在服务器启动时,不指定值innodb_io_capacity_max
.的值时不使用该公式innodb_io_capacity
动态使用集
声明。(错误# 14469086)InnoDB:在高并发负载下DML查询,一个
InnoDB
具有唯一索引的表可能会向查询返回不存在的重复行。(Bug #14399148, Bug #66134)InnoDB:的语法
修改表…删除外键…算法=复制
错误地考虑的名称外键区分大小写。(错误# 14394071)InnoDB:当在线DDL操作期间检测到错误(例如重复键错误)时,当在构建索引时应用对表所做的更改时,MySQL可能会遇到相同的断言错误
ALTER TABLE
声明亦载有任何指数下降
条款。(错误# 14392805)InnoDB:当一个InnoDB表有一个系统选择主键,基于非空列上的唯一索引,如果其中一个主键列被更改为可空,则会发出错误。信息是:
警告1082 InnoDB: Tabletable_name在InnoDB数据字典中有一个主键,但在MySQL中没有!
此问题只影响
ALTER TABLE
语句使用在线DDL机制,即与算法=原地
指定的或暗示的从句(错误# 14353985)InnoDB:的繁重查询工作负载
InnoDB
带有全文
指数可能导致崩盘。该问题仅在每秒执行一定数量的查询和并发连接时发生。(错误# 14347352)InnoDB:如果一个在线
创建索引
操作失败,有一段时间并发DML操作可能会失败,因为表被认为处于错误状态。(错误# 14341099)InnoDB:
ALTER TABLE
用于分区表的语句可能会导致不必要的后果锁定而且撤销信息。作为新在线DDL特性,MySQL在实际情况下将此开销最小化,或者您可以指定算法=原地
条款ALTER TABLE
声明。(错误# 14322667)InnoDB:的
mysql_install_db
命令可能会因断言错误而崩溃:InnoDB:线程中的断言失败thread_num在文件trx0rseg中。Cc行326
的大小
InnoDB
系统表空间的上限是10MB,但是在5.6开发周期中,系统表空间的最小大小变得略大于10MB。(错误# 14315223)InnoDB:过程中,竞态条件可能导致断言错误
删除表
语句InnoDB
表格一些内部InnoDB
函数不能正确判断表空间是否缺失;如果表空间缺失,其他函数不能正确处理错误代码。(错误# 14251529)InnoDB:当不止一个
InnoDB
在同一事务中创建和访问临时表,对这些临时表的查询可能会失败ER_TABLE_DEF_CHANGED
错误。(错误# 14234581)InnoDB:的事务组合可能导致服务器崩溃
可序列化的
隔离级别,抽水马桶…带读锁
,以及后续查询。错误信息是:InnoDB:失败断言:prebuilt->stored_select_lock_type != LOCK_NONE_UNSET
(错误# 14222066)
InnoDB:在原地重建阶段回滚的聚集索引项
ALTER TABLE
未从辅助索引中删除操作。(错误# 14221812)InnoDB:此修复解决了关于
AUTO_INCREMENT
列在添加列时使用在线DDL(也就是说,用算法=原地
).现在,AUTO_INCREMENT_OFFSET
值被正确使用,下一个值的计算被修正,浮动
,双
,和unsigned整数
正确地处理自动增量值,并检测溢出条件。(错误# 14219624)InnoDB:MySQL 5.6在线DDL功能,一个
ALTER TABLE
语句向对象添加主键InnoDB
表可以成功,即使主键列包含重复的值。(错误# 14219515)InnoDB:此修复可以防止在线DDL与冲突的操作外键同时发生在同一个表上的操作。更新或删除
级联
或设置为空
当在线DDL正在进行时,外键定义中的子句将被阻塞,因为在发生回滚
之后就没有时间了ALTER TABLE
声明中完成。(错误# 14219233)InnoDB:一个
显示引擎…状态
命令可能会崩溃XA事务是使用语句创建的启动事务只读
.(错误# 14218867)InnoDB:对象的会话中杀死只读事务时,服务器可能崩溃
InnoDB
临时表。(错误# 14213784)InnoDB:一个
插入
进入表失败后在线DDL操作可能导致错误的断言错误:InnoDB: Failing assertion: prebuilt->trx_id == 0 || prebuilt->trx_id <= last_index->trx_id
(错误# 14176821)
InnoDB:服务器可能在启动时挂起崩溃恢复,如果之前活动事务的回滚与临时表的删除冲突,则使用此方法。有了这个解决方案,持续的统计数据不适用于
InnoDB
临时表。(错误# 14175080)InnoDB:配置选项
innodb_max_io_capacity
改名为innodb_io_capacity_max
,以强调其与现有的关系innodb_io_capacity
选择。(错误# 14175020)InnoDB:在计算索引统计数据时,由于竞争条件,服务器可能会因信号8(除零错误)而崩溃。(错误# 14150372)
InnoDB:当自动递增列使用
浮动
或双
数据类型,如果自动增量值变得非常大(大于最大值)未签名的long long
值),后续插入可能失败或导致服务器停止。(Bug #14145950, Bug #55071)InnoDB:从
InnoDB
表中包含前缀索引,然后删除索引,可能会因断言错误而导致崩溃。(错误# 13807811)InnoDB:的值
NUMBER_PAGES_CREATED
而且NUMBER_PAGES_WRITTEN
的列INFORMATION_SCHEMA。在NODB_BUFFER_POOL_STATS
表被设置为不正确的值,并且NUMBER_PAGES_GET
柱根本没有被设置。(错误# 13639187)InnoDB:的情况下,错误消息得到了改进
更新
失败,因为该行包含多个大于768字节的BLOB值,导致一行的大小超过一半页面大小.旧的信息是误导性的;当每个BLOB列的768字节前缀是导致限制错误的原因时,它建议使用BLOB:错误码1118:行大小太大。所使用的表类型的最大行大小(不包括blob)是8126。您必须将一些列更改为TEXT或blob
方法创建表,以解决此问题
ROW_FORMAT =动态
或ROW_FORMAT =压缩
子句,现在在消息中建议使用该子句。(Bug #13453036, Bug #63507)InnoDB:在更新非常大的BLOB值(通常为16MB或更多)时,服务器可能会崩溃。(错误# 13450566)
InnoDB:有一个问题锁定方法的查询可能导致严重错误
处理程序
声明。(Bug #11766271, Bug #59344)InnoDB:当一个
选择……更新
,更新
,或其他SQL语句扫描的行InnoDB
表使用<
或< =
的运算符在哪里
子句中,受影响范围之后的下一行也可以被锁定。此问题可能导致预期不会锁定的行出现锁定等待超时。此问题发生在各种隔离级别下,例如读过承诺
而且可重复读取
.(错误# 11765218)InnoDB:新在线DDL该功能解决了长期存在的bug
ALTER TABLE
语句导致不必要的表重构。此特定错误应用于更改的默认值时间戳
列。(Bug #11753646, Bug #45124)InnoDB:清除了各种不一致的行为,包括表变得不可访问
ALTER TABLE
声明中涉及InnoDB
涉及的表格外键的关系。(Bug #11744929, Bug #5670)分区:对于使用
按哈希分区
或按键分区
,当分区修剪机制遇到多范围列表或使用来自分区键的列的不平等时,它会继续使用下一个分区列,并尝试使用它进行修剪,即使前一列不能使用。这将导致可能匹配一个或多个先前分区列的分区被删除,只留下匹配分区键最后一列的分区。当满足以下两个条件时,会触发此问题:
组成表的分区键的列的使用顺序与a定义的分区键中的顺序相同
选择
声明的在哪里
子句,如列定义中的;的
在哪里
用于分区键最后一列的条件仅由一个值满足,而测试分区键前一列的条件由一系列值满足。
下面是一个创建分区表的语句和查询的例子,上面描述的问题发生在这里:
CREATE TABLE t1 (c1 INT, c2 INT, PRIMARY KEY(c2, c1)) PARTITION BY KEY() #使用主键作为分区键;SELECT * FROM t1 WHERE c2 = 2 AND c1 <> 2;
一旦遇到不能在修剪中使用的分区键列,确保分区修剪会跳过所有剩余的分区键列,就可以解决这个问题。(错误# 14342883)
分区:当前从每个分区读取用于排序读取的行的缓冲区在打开时分配,只有在分区处理程序关闭或销毁时才释放。对于具有许多分区和大行的表上的SELECT语句,这可能会导致服务器使用过多的内存。
解决这个问题的方法是,仅在需要时为分区表的读取分配缓冲区,并且在不再需要时立即释放它们。作为此修复的一部分,现在仅为从未修剪的分区中的行读取分配内存(请参阅分区修剪).(错误# 13025132)
参考:参见Bug #11764622, Bug #14537277。
复制;微软的Windows操作系统:在64位Windows平台上,大于4G的值
max_binlog_cache_size
而且max_binlog_stmt_cache_size
系统变量被截断为4G。这导致加载数据
当试图加载一个大于4G大小的文件时失败,即使当max_binlog_cache_size
设置为大于此值的值。(错误# 13961678)复制:更新正在写入的用户变量,其值在使用时从未在从服务器上设置
——replicate-ignore-table
可能导致从服务器失败。(错误# 14597605)参考:此问题是对Bug #14275000的回归。
复制:一个手动创建的名为
slave_worker_info
MySQL服务器数据目录下的日志可能会被误认为是实际的中继日志信息文件。此外,当工人人数(slave_parallel_workers
服务器系统变量)被减少,相应的信息文件没有像预期的那样被删除。(错误# 14578740)参考资料:参见Bug #13804728, Bug #14550905, Bug #14550945。
复制:与
relay_log_info_repository =文件
而且slave_parallel_workers
大于0时,将中继日志信息存储库类型更改为表格
重新启动slavemysqld引起了后续的开始的奴隶
语句使从服务器崩溃。(错误# 14550945)参考资料:参见Bug #13804728, Bug #14550905, Bug #14578740。
复制:当多线程从工作线程的数量(由设置
slave_parallel_workers
服务器系统变量)在使用时发生了变化relay_log_info_repository =表
,mysql.slave_worker_info
表没有反映变化。(错误# 14550905)参考资料:参见Bug #13804728, Bug #14550945, Bug #14578740。
复制:使用
COM_BINLOG_DUMP_GTID
使用不正确的数据可能导致服务器崩溃。(错误# 14509140)复制:执行
SQL_THREAD_WAIT_AFTER_GTIDS ()
函数在未启用二进制日志记录的情况下可能导致服务器崩溃。(错误# 14457883)复制:MySQL Replication代码中的一个内部例程在迭代哈希的同时,从哈希中删除了用于存储数据库和工作线程之间映射的元素。这可能导致has元素的意外重新排序,从而可能导致使用此散列的例程产生不正确的结果。(错误# 14381701)
参考:参见Bug #13864642。
复制:二进制日志和中继日志性能模式互斥对象的名称被错误地更改为与MySQL 5.5名称不同的名称。这些名称已经恢复到MySQL 5.5中使用的名称。(错误# 14366314)
复制:在主服务器和正在使用的从服务器之间建立复制时
master_info_repository =表
,mysql.slave_master_info
表第一次没有更新开始的奴隶
发布。(错误# 14298750)参考:参见Bug #13858841。
复制:的
——disable-gtid-unsafe-statements
选项会导致任何涉及临时表的非事务性DML语句被拒绝,即使使用binlog_format
显式设置为行
,尽管在这种情况下它们没有被写到二进制对数中。现在,在使用基于行的日志记录时允许使用这样的语句,只要受语句影响的任何非事务性表也是临时表。(错误# 14272627)复制:当使用多线程从库时,
——replicate-rewrite-db
在将数据库分配给从工作线程时,不遵守规则,这可能导致使用此选项时语句的执行顺序不一致。这可能导致从服务器与主服务器不一致。(错误# 14232958)复制:mysql_upgrade服务器运行时失败
gtid_mode =对
而且——disable-gtid-unsafe-statements
因为MySQL系统表是用MyISAM
.的默认日志记录行为可以修复此问题mysql_upgrade;现在默认禁用日志记录。(采取的行动mysql_upgrade依赖于服务器版本,因此不应该复制到从服务器。)要启用日志记录,可以执行mysql_upgrade使用——write-binlog
选择。(Bug #14221043, Bug #13833710)复制:许多与gtid相关的内部编程对象的初始化和使用无法正常工作
PERFORMANCE_SCHEMA
.(错误# 14152637)复制:多线程从库的调度器没有考虑到通过外键依赖关系隐式参与操作的数据库,这可能导致从库暂时失去一致性。为了避免这个问题,在不同数据库表之间调用外键关系的主服务器上的复制事件现在被标记为可以按顺序调度的复制事件,以避免竞争条件和不一致。然而,这可能会对性能产生不利影响。(错误# 14092635)
复制:在使用多线程从库时,用于中继日志信息日志的存储库类型并不总是像预期的那样自动用于工作存储库。(错误# 13804728)
参考:参见Bug #14550905, Bug #14550945, Bug #14578740。
复制:在等待下一个成功的作业被添加到工作队列时,当从线程停止时,多线程从协调器可能会泄漏内存。(错误# 13635612)
复制:的
Master_id
的列mysql.slave_master_info
而且mysql.slave_relay_log_info
该表显示从服务器的ID,而不是主服务器的ID。(错误# 12344346)复制:语句如
更新……在哪里
被标记为基于语句的日志记录不安全,尽管这样的语句实际上是安全的。在运行大量这样的语句的情况下,这可能会导致磁盘空间耗尽,因为会记录这样的错误警告的数量。为了防止这种情况发生,引入了一种警告抑制机制。这个警告抑制的作用如下primary_key_column
=常数
限制1ER_BINLOG_UNSAFE_STATEMENT
在任何50秒的时间内产生超过50次警告,则启用警告抑制。当激活时,这将导致此类警告不被写入错误日志;相反,对于这种类型的每50个警告,都会向错误日志中写入一个说明最后的警告再次响起
.只要最近的50个此类警告在50秒或更短时间内发出,这种情况就会持续下去;一旦警告数量减少到此阈值以下,警告将再次正常记录。N
最后的时间年代
秒此问题的修复不会影响这些警告如何报告给MySQL客户端;对于生成警告的每个语句,仍然会向客户端发送警告。此修复也不会对如何确定基于语句的日志记录的任何语句的安全性做出任何更改。(Bug #11759333, Bug #51638)
参考:参见Bug #11751521, Bug #42415。
修改表…删除外键
没有指定要删除的外键会导致服务器崩溃。现在需要外键名称。(错误# 14530380)就地
ALTER TABLE
操作InnoDB
表可能会引发一个试图获取锁的断言。(错误# 14516798)mysql_secure_installation没有工作,如果
old_passwords
设置为2(使用sha256_password
身份验证插件)。(错误# 14506073)索引条件下推与下降索引范围扫描一起导致性能下降。(错误# 14503142)
Item_cache_str: save_in_field ()
如果缓存的值为,则取消对空指针的引用零
.(错误# 14501403)使用
组由…与汇总
属性比较分组列在
操作符导致引发断言。(错误# 14500792)在调试版本中,启用了半连接,
组由…与汇总
不使用临时表可能导致服务器崩溃。(错误# 14499409)属性的查询使用连接缓存时引发断言
在
子查询查询,该子查询期望返回单行,但返回了多个行。(错误# 14499331)在对索引列进行降序分组和排序时,优化器可以引发断言。(错误# 14498999)
有洞的多边形可能导致空间操作的服务器崩溃。(错误# 14497827)
对于复杂的条件,优化器可能产生不正确的范围构造并返回不正确的查询结果。(错误# 14497598)
在
mysql_com.h
,CLIENT_CONNECT_ATTRS
而且CLIENT_PLUGIN_AUTH_LENENC_CLIENT_DATA
符号被错误地定义为相同的值。(错误# 14482472)的
Threads_running
状态变量没有正确更新。(错误# 14471011)GROUP_CONCAT ()
与截然不同的
或命令
在几何
值导致服务器崩溃。(错误# 14468106)密码策略为
强大的
100个字符或更多的密码,VALIDATE_PASSWORD_STRENGTH ()
可能导致服务器崩溃。(错误# 14458293)密码(空)
而且OLD_PASSWORD(空)
可能导致服务器崩溃。(错误# 14458217)的
explicit_defaults_for_timestamp
系统变量不可见(例如,与显示变量
),因此不可能根据它的值做出运行时决策。(错误# 14409088)当解析外部字段时,
Item_field: fix_outer_fields ()
创造了新的Item_ref
S,所以这些必须在运行时memroot中分配。解析前的记忆根切换加入::
导致这些分配在语句根目录中,为每个准备好的语句执行泄漏内存。(错误# 14409015)一个
ALTER TABLE
对于一个InnoDB
表试图添加索引并更改参与该索引的列的可空性时,将引发断言。(错误# 14404635)对于调试版本,如果一个会话使用DDL语句更改
InnoDB
表时,如果另一个会话具有表的预修改一致快照,则可能引发断言失败。(错误# 14365043)结果集可以包含用于查询的额外行
MyISAM
表中使用SQL_BUFFER_RESULT
修饰符和子查询。(错误# 14348858)的
——服务器的公共匙
选择mysql而且mysqltest
已重命名为——server-public-key-path
为了反映它引用一个文件,并与相关的服务器端变量命名保持一致。另外,这个选项现在只有在MySQL是用OpenSSL(而不是yaSSL)构建的情况下才可用,因为yaSSL不支持必要的RSA加密。(错误# 14348721)RPM规范文件现在还在打包新二进制文件之前运行测试套件。(错误# 14318456)
在存储的程序中,以XML函数引用存储的程序变量,如
ExtractValue ()
第一次执行存储程序后失败。(错误# 14317442)中的阶段和语句默认情况下,使用的性能模式列出了纳秒计时器
setup_timer
表格但是,如果这个定时器在给定的平台(比如Windows)上不可用,那么阶段和语句的计时就不能正常工作。现在空闲计时器、阶段计时器和语句计时器如果可用,则使用首选计时器,如果不可用,则使用备用计时器。(错误# 14298586)优化器使用索引条件下推的一些查询
裁判
如果按降序读取索引,则访问可能非常慢。(Bug #14287654, Bug #14503142)使用MaterializeScan半连接策略执行的查询和物化子查询可能返回太多行。(错误# 14272788)
LooseScan半连接可以从外部表返回重复的行。(错误# 14271594)
Performance Schema在选择数据库之前和之后为语句生成不同的摘要。(错误# 14256311)
性能模式摘要生成代码可能因出现竞态条件而失败。(错误# 14250296)
服务器没有使用海湾合作委员会4.7.(错误# 14238406)
在试图打印释放的子查询项时,优化器跟踪可能会崩溃。(错误# 14238404)
中的子查询启用了半连接优化
带有检查选项
视图定义的子句的计算不正确。(错误# 14230177)ALTER TABLE
与丢弃表空间
或导入表空间
没有获得足够强的元数据锁来防止并发ALTER TABLE
声明与添加
或下降
从修改表空间。这可能导致警告或提出断言。(错误# 14213236)WEIGHT_STRING ()
如果给出一个坏的flags参数,可能会崩溃。(错误# 14211236)要求发行人
条款为格兰特
语句没有被正确重写,导致服务器崩溃。(错误# 14211069)如果呼叫
套接字()
失败时,性能模式为它创建了插装。(错误# 14209598)一些带有
有
子句中引用函数的函数在哪里
以子查询作为参数的列表引发断言。(错误# 14209318)字符串分配可能导致Valgrind警告。(错误# 14201818)
对于使用范围访问的查询,优化器可以读取未初始化的数据,从而产生Valgrind警告。(错误# 14200538)
mysql_upgrade没有设置
STATS_PERSISTENT = 0
表选项。InnoDB
中的表mysql
数据库。(错误# 14195056)在调试构建中,优化器提出了关于的不必要(过于严格)断言
MyISAM
密钥长度。(错误# 14179461)联接处理可能试图清理尚未实例化的临时表,从而导致服务器崩溃。(错误# 14168270)
字符串格式日期的不正确内部转换可能导致服务器崩溃。(错误# 14167911)
为json格式
解释
语句、派生表没有得到正确处理,导致服务器崩溃。(错误# 14167499)类型的字符串的比较
ucs2_unicode_520_ci
排序规则可以产生一个断言。(错误# 14161973)就地
ALTER TABLE
没有为一张有几何
列,即使修改不涉及该列。(错误# 14140927)对于不存在的文件,性能模式文件I/O检测有时会做额外的工作或受到检测泄漏的影响。(错误# 14113704)
小
sort_buffer_size
值可能导致服务器崩溃。(错误# 14111180)在触发器中,在查询执行过程中使用的对临时表的引用最终可能在后续执行中指向不存在的字段,从而导致服务器崩溃。(错误# 14105951)
控件中的某些列可能会错误地报告负值
buffer_pool_pages_in_flush
排在information_schema.innodb_metrics
表格(错误# 14090287)JSON
格式解释
语句可能引发断言,或导致服务器挂起带有不可能-的语句在哪里
子句和子查询命令
或集团
条款。(错误# 14084642)对于具有多个内部表的某些查询,半连接的FirstMatch策略会产生不正确的结果。(错误# 14081638)
启用物化和半连接后,一些带有OR条件的查询可能产生不正确的结果。(错误# 14075016)
就地
ALTER TABLE
没有处理自动artiting存储引擎,如NDB
.(错误# 14063233)RELEASE SAVEPOINT
没有对XA事务状态进行足够的检查,以防止在事务处于准备状态时释放保存点。(错误# 14062726)空间函数的不当初始化可能会在服务器启动后第一次调用它们时导致服务器崩溃。(错误# 14015762)
为json格式
解释
语句,子查询处理不当可能导致引发断言。(错误# 13956275)选择
在使用连接缓冲区的分区表上可能会导致服务器崩溃。(错误# 13949549)按空间函数进行多边形排序可能会不正确,并导致服务器崩溃。(错误# 13938850)
为
删除
语句,在哪里
应该只访问索引树的子句行检索可能会引发断言。(错误# 13919180)关于
限制
必须是整数,但如果参数是由准备语句中的占位符给出的,服务器不会拒绝非整数值,例如“5”
.(错误# 13868860)一些争论可能会导致
ST_Buffer ()
崩溃。(Bug #13832749, Bug #13833019)的查询。
ST_Contains
而且在()
当参数列具有空间索引时,函数会产生不正确的结果。(错误# 13813064)检查表
而且修理表
可能崩溃,如果一个关键定义不同.frm
而且.MYI
文件MyISAM
表格现在服务器产生一个错误。(错误# 13555854)对于松散索引扫描更可取的情况,优化器使用完整索引扫描。(错误# 13464493)
参考:这个问题是Bug #12540545的回归。
计数(不同(选择1))
如果优化器使用松散索引扫描,可能会不正确地评估。(错误# 13444084)参考:参见Bug #13813126。
的查询。
联邦
表可能返回不正确的结果时,基础表的两个列上有一个复合索引和查询包含和
列的条件。(错误# 12876932)在调试版本中
InnoDB
关于禁止开放射击场的主张过于激进了。(Bug #66513, Bug #14547952)使用以下命令启动服务器
bind_address = *
如果服务器主机支持IPv6,则服务器应该在所有服务器主机的IPv6和IPv4接口上接受TCP/IP连接,否则在所有IPv4地址上接受TCP/IP连接。但服务器有时无法正确检测到IPv6不支持,导致启动失败。(Bug #66303, Bug #14483430)查询与
所有
在一个联盟
可以返回错误的结果,如果联盟
结果包含零
.(Bug #65902, Bug #14329235)就地
ALTER TABLE
使用复制算法使用键前缀错误地处理索引。(Bug #65865, Bug #14304973)如果服务器是用
secure_auth
禁用后,它不会产生此设置已弃用的警告。(Bug #65462, Bug #14136937)的
ST_Contains ()
而且在()
属性的列上使用时,产生了错误的结果空间
索引。(Bug #65348, Bug #14096685)对于某些查询,优化器使用
index_merge
访问方法时,这是比较多的工作裁判
访问。(Bug #65274, Bug #14120360)的
GeomFromWKB ()
函数没有返回零
如果SRID论点是零
,而非-零
转换的结果中不包括SRID值。(Bug #65094, Bug #13998446)内部临时
MyISAM
表不必要地注册在由全局互斥锁保护的开放表列表中,导致过度的互斥锁争用。(Bug #65077, Bug #14000697)在事先准备好的发言中,
MYSQL_TYPE_DATE
参数转换为整数时被处理为MYSQL_TYPE_DATETIME
值和转换产生不正确的结果。(Bug #64667, Bug #13904869)”非法混合整理”字符串之间的某些操作返回错误,而这些操作应该是合法的。(Bug #64555, Bug #13812875)
计数(不同(如果…))
如果优化器使用松散索引扫描,可能会不正确地评估。(Bug #64445, Bug #13813126)参考:参见Bug #13444084。
的论证
——ssl密钥
选项没有被验证是否存在并且是有效的键。生成的连接使用SSL,但没有使用密钥。(Bug #62743, Bug #13115401)使用基于语句的二进制日志,访问但不修改表的存储例程对表使用了太强的锁,不必要地阻塞了同样访问这些表的其他语句。(Bug #62540, Bug #13036505)
mysqlhotcopy包含视图的数据库失败。(错误#62472,错误#13006947,错误#12992993)
添加一个
限制
子句到包含集团
而且命令
可能导致优化器选择不正确的索引来处理查询,并返回超出所需的行数。(Bug #54599, Bug #11762052)mysqlbinlog当标准输入是管道时,不接受标准输入。(Bug #49336, Bug #11757312)
所使用的查询存在性能回归
集团
而且数(不同的)
.(Bug #49111, Bug #11757108), mysqldump可以按照重新加载转储文件时发生错误的顺序转储视图和它们所依赖的表。(Bug #44939, Bug #11753490)