10bet网址
MySQL 5.6版本说明
相关的文档10bet官方网站 下载这些版本说明
PDF(美国Ltr)- 2.3 mb
PDF (A4)- 2.3 mb
HTML下载(TGZ)- 462.4 kb
HTML下载(Zip)- 0.5 mb


MySQL 5.6版本说明MySQL 5.6.6 (2012-08-07, Milestone 9)

MySQL 5.6.6 (2012-08-07, Milestone 9)

请注意

这是一个里程碑版本,使用风险自负。不支持里程碑版本之间(或从里程碑版本到GA版本)的升级。重要的开发更改发生在里程碑版本中,您可能会遇到兼容性问题,例如除了通常的运行过程外还需要注意的数据格式更改mysql_upgrade.例如,您可能发现有必要将数据转储到, mysqldump在升级之前重新加载它。(在任何情况下,升级前进行备份都是一种谨慎的预防措施。)

二进制日志

  • 性能:服务器现在为二进制日志实现组提交:多个提交在内存中分组,然后作为一个组写入和刷新到磁盘,而不是单独写入。这减少了写和刷新的次数,提高了二进制日志记录的性能。组提交适用于所有存储引擎。InnoDB实现一些优化以利用组提交功能。

    这些系统变量是与组提交一起添加的:

配置说明

弃用和删除说明

性能架构说明

  • 默认情况下,性能架构现在是启用的performance_schema系统变量默认为开启状态)。要禁用它,请设置performance_schema =了在服务器启动时。

    此外,如果没有显式设置,Performance Schema现在会在服务器启动时自动调整其几个参数的值。例如,它通过这种方式调整控制事件等待表大小的参数。要查看在此策略下哪些参数的大小,请使用Mysqld——verbose——帮助寻找默认值为−1的值,或者查看性能架构系统变量

    对于每个在服务器启动时没有设置(或设置为−1)的自动大小调整参数,性能架构决定如何基于以下系统值设置其值,这些值被认为是提示关于你如何配置你的MySQL服务器:

    Max_connections open_files_limit table_definition_cache table_open_cache

    要覆盖给定参数的自动调整大小,请在启动时将其设置为−1以外的值。在本例中,性能模式为其分配指定的值。

    在运行时,显示变量显示自动调整大小的参数设置的实际值。

    如果性能模式被禁用,它的自动大小参数仍然设置为−1和显示变量显示−1。

安全记录

  • 实施了以下安全改进措施:

    • MySQL现在提供了一种将身份验证凭据加密存储在选项文件中的方法.mylogin.cnf.要创建该文件,请使用mysql_config_editor实用程序。MySQL客户端程序稍后可以读取该文件,以获得连接到MySQL服务器的身份验证凭据。mysql_config_editor.mylogin.cnf使用加密的文件,因此凭证不以明文形式存储,并且当客户机程序解密其内容时仅在内存中使用。通过这种方式,密码可以以非明文格式存储在文件中,并在以后使用,而不需要在命令行或环境变量中公开。有关更多信息,请参见mysql_config_editor - MySQL配置实用程序

      .mylogin.cnf文件可以包含多个选项集,称为登录路径。这使得设置多个很容易个性用于连接到不同的MySQL服务器。方法可以通过名称选择其中任何一个——登录路径选项在调用客户机程序时。看到影响选项文件处理的命令行选项

    • MySQL现在支持对用户帐户密码进行更强的加密,通过一个名为sha256_password实现了SHA-256密码哈希。这个插件是内置的,所以它总是可用的,不需要显式加载。有关更多信息,包括创建使用SHA-256密码的帐户的说明,请参见SHA-256可插认证

      的引入相关的其他更改sha256_password插件:

      • old_passwords系统变量以前允许的值为1或0来控制是否MySQL本地密码哈希被使用创建用户而且格兰特声明和密码()函数。现在old_passwords允许值为2选择使用SHA-256密码哈希。

        请注意

        在此之前,old_passwords允许的值作为0或1的同义词。现在情况不再是这样了。

      • SHA-256密码散列(old_passwords = 2)使用一个随机的盐值,使结果从密码()不确定的。因此,使用此函数的语句对于基于语句的复制不再安全,并且不能存储在查询缓存中。

      • 如果MySQL是用OpenSSL构建的,在客户端连接过程中可以使用RSA加密来传输密码。的sha256_password_private_key_path而且sha256_password_public_key_path系统变量允许在服务器端命名私有和公共密钥文件。的Rsa_public_keyStatus变量显示公钥值。的mysql而且mysqltest客户端支持——服务器的公共匙选项,允许在连接到服务器时显式指定公钥文件。这个选项是通过newMYSQL_SERVER_PUBLIC_KEY的选项mysql_options ()C API函数。)

      MySQL连接器支持:使用C客户端库的连接器应该可以使用sha256_password没有变化。必须更新为自己实现身份验证过程的连接器,以考虑到客户机/服务器协议中的更改。

    • 服务器现在有一个——default-authentication-plugin选项指定要与没有显式命名插件的新帐户关联的默认插件。允许的值为mysql_native_password(使用MySQL本地密码;这是默认值)和sha256_password(使用SHA-256密码)。此选项还会更改初始值old_passwords值与默认插件所需的密码哈希方法一致。

      请注意

      如果使用此选项将默认身份验证方法更改为非mysql_native_password, MySQL 5.5.7以前的客户端将不再能够连接,因为他们不理解对身份验证协议的更改。

    • mysql.user表现在有一个password_expired列允许dba使帐户密码过期,并要求用户重置密码。默认的password_expired值是“N”,但可以设置为“Y”随着新的改变用户声明。帐户的密码过期后,该帐户在后续连接服务器时执行的所有操作都会导致错误,直到用户发出一个设置密码语句以建立新的帐户密码。有关更多信息,请参见ALTER USER语句,过期密码的服务器处理

      如果您从较早的版本升级到这个MySQL版本,您必须运行mysql_upgrade(并重新启动服务器)将此更改合并到mysql数据库。

      谨慎

      更新:改变用户同时设置密码列设置为空字符串,因此在5.6.6中不要使用此语句。这个问题在MySQL 5.6.7中已经修复。

    • MySQL现在提供了检查密码安全性的功能:

      控件实现这两个功能validate_password插件。如果没有安装插件,受影响的语句和密码()而且OLD_PASSWORD ()像以前一样工作(不检查密码),并且VALIDATE_PASSWORD_STRENGTH ()总是返回0。

      validate_password插件还实现了一组与控制密码检查的参数相对应的系统变量。如果安装了插件,可以通过修改这些变量来配置密码策略。

      validate_password插件是使用MySQL插件API编写的,该API已被扩展为支持编写密码验证插件。

      有关更多信息,请参见密码验证插件.有关编写密码检查插件的信息,请参见编写密码验证插件

    • mysql_upgrade现在,如果它发现使用4.1以前的旧散列方法散列的密码的用户帐户,就会产生一个警告。这样的帐户应该更新以使用更安全的密码哈希。看到MySQL中的密码哈希

    (Bug #65461, Bug #14136939)

  • WITH_SSLCMake选项,没有不再是允许的值或默认值。默认是现在捆绑.因此,MySQL现在总是使用SSL支持构建的。

增加或更改的功能

  • 不兼容的更改:现在显式地禁止它赋值默认的存储过程或函数参数或存储程序局部变量(例如使用var_name=违约声明)。这在以前是不支持的,也没有被记录为允许的,但是如果现有的代码无意中使用了这个构造,就会标记为不兼容的更改。仍然允许进行分配默认的到系统变量,像以前一样,但是赋值默认的参数或局部变量现在会导致语法错误。

    升级到MySQL 5.6.6或更高版本后,使用此构造的现有存储程序在调用时会产生语法错误。如果一个, mysqldump将5.6.5或更早版本的文件加载到5.6.6或更高版本时,加载操作失败,必须更改受影响的存储程序定义。

  • 不兼容的更改:——安全模式服务器选项已被删除。

  • 重要的变化;分区:MySQL现在支持分区锁修剪,它允许针对分区表使用许多DDL和DML语句MyISAM(或其他使用表级锁定的存储引擎)只锁定那些直接受语句影响的分区。这些陈述包括(但不限于)很多选择选择……分区更新取代插入,以及其他语句。当使用具有多个(32或更多)分区的表时,这种增强尤其能提高许多这样的语句的性能。有关受影响报表的详细信息和其他信息的完整列表,请参见分区和锁定.(Bug #37252, Bug #11748732)

  • 重要的变化;复制:方法运行时,如果多线程从进程失败,那么现在就有可能——relay-log-recovery选项,将其安全地切换到单线程模式,尽管中继日志中存在任何未处理事务的空白。要实现这一点,您现在可以使用启动slave [sql_thread]直到sql_after_mts_spaces使从SQL线程一直运行,直到在中继日志中没有发现更多这样的空白。语句完成后,您可以更改slave_parallel_workers系统变量,并且(如果需要)发出一个将master更改为语句,然后重新启动从服务器。(错误# 13893363)

    参考文献:参见Bug #13893310。

  • 重要的变化;复制:插入重复的密钥更新如果目标表有多个主键或唯一键,则现在标记为对于基于语句的复制不安全。有关更多信息,请参见二进制测井中安全语句和不安全语句的确定.(Bug #58637, Bug #11765650, Bug #13038678)

  • 重要的变化;复制:显示二进制日志语句(及其等效显示主日志)现在可以由具有复制客户端特权。(以前,超级使用这种说法的任何一种形式都需要有特权。)

  • 重要的变化:插入延迟现在已弃用,将在未来的版本中删除。使用插入(没有延迟)。(错误# 13985071)

  • 重要的变化:在MySQL中,时间戳数据类型与其他数据类型有非标准的不同:

    • 时间戳类未显式声明的列属性被分配给非空属性。(允许使用其他数据类型的列类显式声明非空属性)。设置这样的列为将其设置为当前时间戳。

    • 第一个时间戳列,如果没有使用属性或显式默认的在更新属性,将自动分配默认CURRENT_TIMESTAMP而且在更新current_timestamp时属性。

    • 时间戳方法之后的列,如果没有使用属性或显式默认的属性,自动分配默认'0000-00-00 00:00:00'(时间戳)。对于没有为该列指定显式值的插入行,将为该列赋值“0000-00-00”就是没有任何警告。

    那些非标准的行为仍然是默认的时间戳但现在已弃用,启动时出现以下警告:

    [警告]带有隐式默认值的TIMESTAMP不支持。请使用——explicit_defaults_for_timestamp服务器选项(更多细节请参阅文档)。10bet官方网站

    如警告所示,要关闭非标准行为,请启用newexplicit_defaults_for_timestamp服务器启动时的系统变量。启用此变量后,服务器将进行处理时间戳改为:

    • 时间戳列允许类显式声明非空属性。设置这样的列为设置为,而不是当前时间戳。

    • 没有时间戳列被分配为默认CURRENT_TIMESTAMP在更新current_timestamp时自动属性。这些属性必须显式指定。

    • 时间戳声明为非空如果没有明确的默认的属性被视为没有默认值。对于没有为此类列指定显式值的插入行,结果取决于SQL模式。如果启用了严格的SQL模式,则会发生错误。如果没有启用严格SQL模式,则为列分配隐式默认值为“0000-00-00”就是然后出现一个警告。这与MySQL处理其他时态类型的方式类似,例如DATETIME

    若要升级用于复制的服务器,请先升级从服务器,再升级主服务器。的相同值,主服务器和从服务器之间的复制就可以正常工作explicit_defaults_for_timestamp

    1. 关闭从服务器,升级它们,用所需的值配置它们explicit_defaults_for_timestamp,然后把它们带回来。

      从服务器从主服务器接收到的二进制日志的格式中识别出主服务器更老(早于引入explicit_defaults_for_timestamp)和操作时间戳来自master的列使用旧的时间戳的行为。

    2. 关闭主服务器,升级它,并配置它explicit_defaults_for_timestamp用在奴隶身上的价值,再把它拿回来。

    (Bug #63034, Bug #13344629, Bug #55131, Bug #11762529)

  • 性能;InnoDB:许多DDL上的操作InnoDB现在可以执行表在线,而不会使表对查询不可用。有些操作,例如创建或删除索引,甚至允许DML语句(插入更新删除)放在桌子上,而操作正在进行。单个在线DDL操作也可以代替一系列语句,比如几个语句指数下降语句,修改表…添加一列,然后是几个创建索引语句。看到InnoDB和在线DDL了解详细信息。

    对于试图从更改的表重新读取数据的一致性读取事务,此更改还会产生额外的影响ALTER TABLE在另一个环节。事务接收的不是空集合,而是一个错误(ER_TABLE_DEF_CHANGED表定义已更改,请重试事务).(Bug #58368, Bug #11765404, Bug #11872643, Bug #12325508, Bug #11765266, Bug #60689)

  • 性能;InnoDB:的持久统计信息特性InnoDB表现在是默认启用的,并且可以在单个表的级别上进行控制。该特性涉及到配置选项innodb_stats_persistentinnodb_stats_auto_recalc,innodb_stats_persistent_sample_pages,及条款STATS_PERSISTENTSTATS_AUTO_RECALC,STATS_SAMPLE_PAGES创建表而且ALTER TABLE语句。看到配置持久优化器统计参数有关使用细节。

  • 性能;InnoDB:MySQL服务器现在包括广泛使用的memcached内存缓存系统,和一个插件,允许快速nosql式访问InnoDB通过memcached协议。这种访问方法避免了SQL解析和构建查询优化计划的开销。您可以将底层数据存储在单个InnoDB表,或将其分散到多个表中。您可以通过两者读取和写入数据memcached和SQL。例如,您可以通过单键快速查找memcached得到调用,并通过SQL跨所有数据执行统计报告。

    有几个配置选项可以让您对该系统进行微调,特别是在原始性能与数据持久性和一致性之间进行平衡。主要的新配置选项有daemon_memcached_optiondaemon_memcached_r_batch_sizedaemon_memcached_w_batch_sizeinnodb_api_trx_levelinnodb_api_enable_mdl,innodb_api_enable_binlog

    看到InnoDB memcached插件了解详细信息。

  • InnoDB:对于质量恒定的系统工作负载,或波动很大的工作负载时,可以使用几个新的配置选项微调冲洗行为InnoDB表:innodb_adaptive_flushing_lwminnodb_max_dirty_pages_pct_lwminnodb_max_io_capacity(在后续的点发布中更改为innodb_io_capacity_max),innodb_flushing_avg_loops.这些选项都是改进后的公式innodb_adaptive_flushing选择。看到配置缓冲池刷新

  • InnoDB:InnoDB表现在支持的概念移动式表空间,允许.ibd从一个正在运行的MySQL实例中导出并导入到另一个正在运行的实例中的文件。的用于出口合同条款刷新表语句写入任何未保存的更改InnoDB的内存缓冲区.ibd文件。在复制.ibd文件和单独的元数据文件传输到另一个服务器时,可以使用丢弃表空间而且导入表空间合同条款ALTER TABLE语句将表数据带入另一个MySQL实例。

    有关更多信息,请参见导入InnoDB表

  • InnoDB:InnoDB现在支持数据目录= '目录合同条款创建表语句,该语句允许在数据目录之外创建表。有关更多信息,请参见外部创建表

  • 复制:停止奴隶选项SQL_BEFORE_GTIDS没有正常工作,和SQL_AFTER_GTIDS选项根本没有发挥作用。(错误# 13810456)

  • 复制:添加了slave_rows_search_algorithms的系统变量mysqld时,它决定了用于为从更新查找匹配的搜索算法slave_allow_batching是否启用表或索引哈希,包括是否对使用主键或唯一键、其他键或无键的搜索使用表或索引哈希。

  • 性能模式有一个新的系统变量,performance_schema_session_connect_attrs_size,和新的状态变量,Performance_schema_session_connect_attrs_lost.系统变量是每个线程预留用于保存连接属性键/值对的预分配内存量。如果客户端发送的连接属性数据的总大小大于此数量,性能模式将截断属性数据并增加状态变量。看到性能模式连接属性表.(错误# 14076427)

  • yaSSL从1.7.2版本升级到2.1.4版本。(错误# 13713205)

    参考文献:参见Bug #13706828。

  • 对优化器的磁盘扫描多读范围(DS-MRR)成本模型进行了改进。改进的成本模型使DSMRR更有可能用于从磁盘读取大量数据的查询。

  • 的默认值bind_address系统变量为0.0.0.0,这将导致服务器接受所有服务器主机IPv4接口上的TCP/IP连接。为方便使用IPv6连接,无需特殊配置,缺省值为bind_address现在的价值是.这类似于0.0.0.0,但如果服务器主机支持IPv6,则服务器也接受所有IPv6接口上的TCP/IP连接。(另一种接受IPv4和IPv6连接的方法是使用bind_address =::,但在这种情况下,如果服务器主机不支持IPv6,则会出现错误。)

  • 现在客户机程序可以以键/值对的形式将连接属性传递给服务器。属性可以使用MYSQL_OPT_CONNECT_ATTR_RESET而且MYSQL_OPT_CONNECT_ATTR_DELETE的选项mysql_options ()C API函数,和MYSQL_OPT_CONNECT_ATTR_ADD新选项mysql_options4 ()函数。连接属性通过session_connect_attrs而且session_account_connect_attrs性能架构表。

    如果您从较早的版本升级到这个MySQL版本,您必须运行mysql_upgrade(并重新启动服务器)将这些更改合并到performance_schema数据库。

    有关更多信息,请参见C API函数参考,MySQL性能架构

  • 以前,对于半连接处理,外部查询规范仅限于简单的表扫描或使用逗号语法的内部连接,视图引用是不可能的。现在,外部连接和内部连接语法在外部查询规范中是允许的,并且表引用必须是基表的限制已经被取消了。

  • 为了通过减少会话之间争夺开放表缓存上的全局锁来提高可伸缩性,现在可以将缓存划分为几个较小的缓存实例。现在,一个会话只需要锁定一个实例就可以为DML语句访问它。这分段了实例之间的缓存访问,允许在有很多会话访问表时需要使用缓存的操作获得更高的性能。(DDL语句仍然需要对整个缓存进行锁定,但这种语句比DML语句频繁得多。)

    一个新的系统变量,table_open_cache_instances,允许控制缓存实例的数量。每个实例的大小为table_open_cache/table_open_cache_instances.缺省情况下,实例数为1。

    三个新的状态变量提供了关于打开表缓存操作的信息。Table_open_cache_hits而且Table_open_cache_misses指示缓存中命中和未命中或查找的次数。Table_open_cache_overflows指示在打开或关闭表后,实例有未使用的项且实例的大小大于的次数table_open_cache/table_open_cache_instances

  • 通用程序API已从服务器中删除。这以前是作为一种编写服务器过程的方法出现的,但是除了过程分析().删除接口简化了内部过程表示的一些方面,这些方面与服务器中不再存在的代码相关,但对其操作有负面影响,因为这些方面阻碍了优化器在更常见的查询类型上更好地执行的能力。此外,该代码阻碍了未来优化器的开发,删除它将有利于开发。

    过程分析()保持可用,但不再使用公共接口实现。(有关信息,请参见应用程序分析)。删除过程接口的一个后果是解释select…过程分析()现在可以在以前产生错误的地方工作。

错误修复

  • 不兼容的更改:对于存储程序中使用的表或视图等对象,元数据处理不正确。每个这样的对象的元数据在程序执行开始时收集,但是如果DDL语句在程序执行期间修改了对象,则不更新元数据(或者如果程序仍然保存在存储的程序缓存中,则在程序执行之间修改它)。这将导致实际对象结构与存储程序在执行过程中认为的对象结构之间的不匹配,并导致诸如数据错误或服务器崩溃等问题。

    现在,在执行过程中检测到对存储程序中使用的对象的元数据更改,并对程序中受影响的语句进行解析,以便它们使用更新的元数据。

    示例:假设一个存储程序在循环中执行此语句,并且表中的列t1在循环执行期间更改:

    SELECT * FROM t1;

    以前,错误发生是因为程序执行没有检测到这一点SELECT *计算为更改后的另一组列。现在检测到表更改,并且选择重新解析以确定新的列集。

    在其他情况下也会发生重新解析,例如t1从基表更改为视图或临时表格有关更多信息,请参见准备语句和存储程序的缓存

    对于新行为可能存在不兼容性:假设前一个行为并实现了一个变通方法的应用程序代码可能需要更改。

    其他已纠正的问题:

    • SELECT *在一个存储程序中可能会失败临时在程序中使用准备好的语句创建的表。

    • 未知的列在存储程序中使用的表中,在程序执行之间或在程序循环中使用表时,更改表中的列集可能会导致错误或错误数据。如果视图定义被更改,则视图在类似的情况下也可能发生错误临时如果桌子掉了。

    • 触发器未能注意到程序中访问的对象的元数据更改可能导致触发器故障。

    • 如果存储程序无法注意到程序中访问的对象的元数据更改,则可能导致复制失败。

    (Bug #61434, Bug #12652835, Bug #55678, Bug #11763018, Bug #64574, Bug #13840615, Bug #33843, Bug #11747732, Bug #33289, Bug #11747626, Bug #33255, Bug #11747619, Bug #33000, Bug #11747566, Bug #27011, Bug #11746530, Bug #33083, Bug #11747581, Bug #32868, Bug #11747537, Bug #12257, Bug #11745236)

  • 重要的变化;NDB集群:mysqld_safe现在捕获信号13 (SIGPIPE这样这个信号就不会再杀死MySQL服务器进程了。(错误# 33984)

  • 性能;InnoDB;分区:优化器针对分区查询使用的统计信息InnoDB表只基于每个这样的表的第一个分区,导致使用错误的执行计划。(错误# 13694811)

    这个问题是Bug #11756867的回归。

  • 性能;InnoDB:提高了效率InnoDB关于CPU缓存一致性的代码。(错误# 14034087)

  • 性能;InnoDB:改进了系统调用的效率,以获取系统时间来记录事务的开始时间。此修复程序减少了可能影响性能的缓存一致性问题。(错误# 13993661)

  • 性能;InnoDB:改进了相关算法自适应冲洗.此修复程序增加了在以下情况下的刷新速度压缩,且数据集大于缓冲池,导致了驱逐。(Bug #13990648, Bug #65061)

  • 性能;InnoDB:提高了工作效率提交操作InnoDB表,通过减少在操作进行时进行上下文切换和获取/重新获取互斥锁的可能性。(错误# 13989037)

  • 性能;InnoDB:按照这个顺序时执行。innodb_flush_neighbors改进了启用配置选项。该算法提高了邻居刷新技术的速度硬盘驱动器存储,同时减少性能开销固态硬盘存储。(innodb_flush_neighborsSSD硬件通常不需要。)

  • 性能;InnoDB:的速度删除表InnoDB表通过删除扫描的缓冲池的项自适应哈希索引.这种改进在具有非常大的缓冲池和innodb_adaptive_hash_index选择启用。(Bug #13704145, Bug #64284)

  • 性能;复制:作为给定事务的一部分所做的所有更改都会被缓存;当事务被提交时,这个缓存的内容被写入二进制日志。当使用全局事务标识符时,标识此事务的GTID必须是缓存中属于该事务的所有事件中的第一个事件。

    以前,当事务开始时,缓存的一部分被预先分配为缓冲区;提交时,使用有效的GTID完成。但是,因为不可能在缓存中执行查找,所以必须将其刷新到一个临时文件中,然后在此文件中进行查找。当缓存缓冲区不够大,无法容纳包含给定事务的所有更改时,它将数据交换到磁盘,然后重新初始化缓存,使缓冲区再次正确地填充正确的数据。每次写入GTID事件时,缓冲区实际上被刷新并重新初始化缓存,即使在组成给定事务的所有事件都适合缓存缓冲区的情况下也是如此,在使用GTID时,这可能会对二进制日志记录(以及复制)的性能产生负面影响。

    现在,只有在实际需要时才重新初始化缓存——换句话说,只有在缓存实际交换到磁盘时才重新初始化缓存。

    此外,针对此问题的修复解决了服务器未能写入空事务组时缺失的解锁操作,并减少了在将缓存刷新到磁盘之前将GTID附加到缓存内容所需的代码量。(错误# 13877432)

    参考文献:参见Bug #13738296。

  • 性能:在存储程序中,即使没有启用相应的日志,也会产生使语句日志友好的开销。(错误# 12884336)

  • 性能:MD5 ()而且SHA1 ()对于短字符串,函数有过多的开销。(Bug #49491, Bug #11757443, Bug #60227, Bug #14134662)

  • InnoDB;复制:当二进制日志语句在从服务器上重播时,Com_insertCom_update,Com_delete计数器的增量为开始启动影响事务的语句InnoDB表格,但不是按提交终止此类交易的声明。这将影响这些语句的复制或运行mysqlbinlog.(错误# 12662190)

  • InnoDB:放弃一个InnoDB临时的桌子可能会留下.ibd文件,如果表是用innodb_file_per_table设置启用。在Windows系统上,这可能会导致一个额外的问题:重复尝试删除文件2000秒。除了解决用于删除文件的错误路径名之外,该修复程序还将重试循环限制为10秒,例如,如果由于文件被备份进程锁定而无法删除该文件。(错误# 14169459)

  • InnoDB:当导入InnoDB表空间表示压缩表,不必要校验和正在进行计算。(错误# 14161424)

  • InnoDB:如果MySQL在删除表空间手术,它可能会离开InnoDB在下次启动时崩溃的状态下。错误消息是:

    InnoDB:错误:在字典操作中发生了记录锁等待!

    (错误# 14146981)

  • InnoDB:竞态条件可能导致在线期间的崩溃创建索引的语句。InnoDB表格此错误只影响非常小的表。它需要一个DML操作为正在进行的表,影响主键列,同时创建索引发表了声明。(错误# 14117641)

  • InnoDB:如果XA事务是在指定为只读的会话中创建的,则可能发生断言错误。(错误# 14108709)

  • InnoDB:对象中删除了一行InnoDB表,然后用相同的主键值重新插入另一行,那么并发事务锁定该行的尝试可能会在它本该等待的时候成功。如果锁定选择使用在哪里子句,该子句使用辅助索引执行索引扫描。(Bug #14100254, Bug #65389)

  • InnoDB:中的数据的准确性INFORMATION_SCHEMA表格innodb_metrics对于具有innodb_buffer_pool_instances设置为大于1。控件刷新的页数适用于改进的信息缓冲池,特别是表中的这些条目:

    buffer_flush_batch_total_pages buffer_flush_neighbor_total_pages buffer_flush_adaptive_total_pages buffer_flush_sync_total_pages buffer_flush_background_total_pages buffer_LRU_batch_total_pages

    (错误# 14037167)

  • InnoDB:在事务中使用可重复读取隔离级别为更新删除的语句。InnoDB表有时会忽略最近由其他事务提交的行。详见一致非锁定读取的DML语句可重复读取事务应用于其他事务提交的行,即使查询无法看到这些行。(Bug #14007649, Bug #65111)

  • InnoDB:在一次分析表的语句。InnoDB表中,服务器可能挂起(在非调试构建中),或者可能发生断言错误,指示递归获取锁(在调试构建中)。(错误# 14007109)

  • InnoDB:可以提出断言,如果InnoDB表已移动到不同的数据库修改表…重命名当数据库被丢弃时删除数据库.(错误# 13982017)

  • InnoDB:查询INFORMATION_SCHEMA。INNODB_TRX或者相关的表在服务器运行的时候比较重InnoDB工作负载可能导致崩溃,错误日志中的消息引用了该函数fetch_data_into_cache_low.这个问题出现在新特性工作期间,只影响MySQL 5.6。(错误# 13966453)

  • InnoDB:修正了最近引入的问题InnoDB持久的统计信息,它可能导致崩溃(非调试构建)或断言错误(调试构建)。(错误# 13946118)

  • InnoDB:包括一个类查询中的字符InnoDB全文指数可能导致崩盘。(全文指标InnoDB表是一个新特性,仍在开发中。)

  • InnoDB:使用杀了语句终止查询可能导致错误日志中出现不必要的消息:

    [ERROR]读取表时出现错误-1table_name

    (错误# 13933132)

  • InnoDB:当一个表被重命名时,InnoDB持续的统计数据与新表名没有关联。(错误# 13920437)

  • InnoDB:如果服务器在删除文件时崩溃InnoDB临时表或临时表上的索引,在崩溃恢复,使服务器无法重新启动。(错误# 13913670)

  • InnoDB:一个全文查询InnoDB如果一个使用减号运算符的词后面跟着另一个使用加号运算符的词,则表可能会错误地过滤搜索词。(错误# 13907075)

  • InnoDB:performance_schema柜台的InnoDBRW-locks没有记录一些小事务获取锁的情况。(错误# 13860722)

  • InnoDB:删除大量的数据InnoDB在短时间内删除表可能导致清除操作(删除标记的记录)停止。此问题可能导致不必要的磁盘空间使用,但不会导致任何数据完整性问题。如果此问题导致磁盘空间不足,请重新启动服务器以解决此问题。此问题只可能发生在32位平台上。(错误# 13847885)

  • InnoDB:复制配置中的从服务器可以在创建InnoDB临时表。(错误# 13838761)

  • InnoDB:类时,服务器可能崩溃保存点连同InnoDB表包含全文索引。(错误# 13831840)

  • InnoDB:innodb_force_recovery配置选项设置为2或更大,在消息之后会挂起关机:

    InnoDB:等待清除线程挂起

    这个问题是在MySQL 5.6开发周期的最近更改中引入的。(错误# 13830371)

  • InnoDB:在服务器上运行并发的大容量插入auto_increment_offset = 1auto_increment_increment大于1,并且innodb_autoinc_lock_mode = 1可能会导致如下间歇性错误,即使将主键设置为auto_increment并从插入声明:

    重复条目”价值键'PRIMARY'

    解决办法是设置auto_increment_offset = 1innodb_autoinc_lock_mode = 0传统的).(Bug #13817703, Bug #61209)

  • InnoDB:当DDL和DML操作同时运行时,服务器可能会因断言错误而停止InnoDB表同时:

    InnoDB:错误:在字典操作中发生了记录锁等待!

    这个修复源自MySQL 5.6中的在线DDL特性。(错误# 13641926)

  • InnoDB:在一次ALTER TABLE语句来创建主键对于一个InnoDB表中,某些列特征可能设置不正确,导致后续查询期间出现错误。错误的数据可能是列前缀的最大长度,也可能是非空国旗。

    在MySQL 5.1中,这个修复适用于InnoDB Plugin,但不适用于内置的InnoDB存储引擎。(错误# 13641275)

  • InnoDB:一个ALTER TABLE的语句。InnoDB删除一个索引并创建另一个索引的表可能失败,错误码为1280,并在消息中显示错误的索引名。(Bug #13029445, Bug #62544)

  • InnoDB:如果innodb_undo_tablespaces而且innodb_undo_logs指定配置选项以引用separate撤消表空间,并且关联的表空间不存在,在启动过程中没有正确检测到该错误条件。(错误# 13016100)

  • InnoDB:改进了错误处理和消息,以便尝试创建外键使用引用自身的列。该消息表明数据字典当不存在这样的问题时。(错误# 12902967)

  • InnoDB:对于一个InnoDB表带扳机,下设innodb_autoinc_lock_mode = 1,当从两个会话并发插入表时,有时自动递增的值可以交错插入。自动递增值的顺序可能会随着时间的变化而变化,从而导致使用复制的系统中的数据不一致。(Bug #12752572, Bug #61579)

  • InnoDB:一个ALTER TABLE忽略而且添加唯一密钥子句在找到重复的行时会产生错误,而不是在第一行之后删除所有重复的行。有了这个修复,修改表忽略语法自动启用算法=复制条款,如果ALTER TABLE语句创建索引。(错误# 12622150)

  • InnoDB:对象中删除数据时InnoDB表中,新插入的数据可能不会重用释放的磁盘块,导致系统表空间的大小意外增加或.ibd文件(取决于的设置innodb_file_per_table.的优化表可以压缩一个.ibd在某些情况下存档,而在其他情况下不存档。释放的磁盘块最终将在插入额外数据时被重用。(Bug #11766634, Bug #59783)

  • InnoDB:检查表语句对于大的InnoDB表的超时值为2小时。对于典型的存储设备,超过大约200或350 GB的表可能会出现这个问题,具体取决于I/O速度。该修正放松了对被检查表执行的锁定,从而降低了超时的可能性。它也使InnoDB识别语法快速检查表,这完全避免了超时的可能性。(Bug #11758510, Bug #50723)

  • InnoDB:全文检索InnoDB试图跟踪外键引用而不跟踪已经看到的。对于循环和其他复杂的设置,这可能会一直循环或非常长时间,导致查询线程挂起。(Bug #64274, Bug #13701973)

  • 分区:如果是分区表t1创建时使用ROW_FORMAT选项,试图执行ALTER TABLE t1 EXCHANGE PARTITION…表t2失败,出现错误表有不同的定义即使定义为表t2是一样的吗t1.这是因为对显式进行了检查ROW_FORMAT在表定义中设置,如果设置了该值,则拒绝操作。

    在这种情况下,将显式检查每个表实际使用的行格式交换分区如果两种行格式相同,则允许执行。(错误# 11894100)

  • 分区:PARTITION_COMMENT的列INFORMATION_SCHEMA。分区表截断的分区注释,只显示前80个字符。

    作为解决这个问题的一部分,分区注释的最大长度现在被设置为1024个字符,这个宽度由INFORMATION_SCHEMA.PARTITIONS.PARTITION_COMMENT.(Bug #11748924, Bug #37728)

  • 复制:当一个完整的全局事务跨越中继日志时,只有它的GTID出现在给定的中继日志中,而事务体(包括开始而且提交语句)出现在下一个中继日志中,GTID被错误地解释为属于一个空组。(错误# 14136654)

  • 复制:在某些情况下,在提交或回滚正在进行的事务之前使用半同步复制进行日志旋转是可能的。(错误# 14123372)

  • 复制:如果在停止服务器后删除中继日志,而不先停止复制,则服务器无法正确启动。(Bug #14029212, Bug #65152)

    参考文献:参见Bug #13971348。

  • 复制:——引导选择mysqld是由mysql_install_db当它初始化系统表时。现在,无论何时使用此选项,gtid(参见使用全局事务标识符进行复制)和复制自动禁用。(错误# 13992602)

  • 复制:的多个实例的并发执行在理论上是可能的显示binlog事件使MySQL服务器崩溃。(错误# 13979418)

  • 复制:类初始化时,如果遇到错误mysql.slave_master_infomysql.slave_relay_log_info表中,服务器拒绝启动。在这种情况下,警告信息检查复制元数据时出错。从不使用复制元数据表的版本进行实时升级时,也可能发生这种情况发出,以通知用户发生了这种情况,但允许服务器继续启动。(错误# 13893363)

  • 复制:错误的文本ER_AUTO_POSITION_REQUIRES_GTID_MODE_ONAuto_position = 1虽然这应该是Master_auto_position = 1.这篇文章已被更正。(错误# 13868465)

  • 复制:一个将master更改为语句可以改变的有效值relay_log_purge.此外,relay_log_recovery系统变量现在是只读的,只能通过使用——relay-log-recovery.(错误# 13840948)

  • 复制:binlog_rows_query_log_events= 1时,使用基于行的日志记录格式将一条语句写入二进制日志,服务器将生成一个附加的日志事件,其中包含原始语句的文本。如果mysqlbinlog在此日志上使用——详细——详细,声明原件已打印出来。为了防止除行事件之外执行语句(这实际上会导致语句执行两次),用前导将其注释掉的性格。

    这是在假设这样的语句将由单行组成的情况下实现的,这意味着覆盖多行的语句将被错误处理,因为实际上只有语句的第一行被注释掉。在这种情况下,语句的每一行都用前导注释掉.(错误# 13799555)

  • 复制:的输出中查看长度超过255个字符的查询时将被截断显示binlog事件mysqlbinlog.这是因为存储在其中的查询的长度Rows_query_log_events使用单个字节。(错误# 13799489)

  • 复制:复制锁和一些控制这些锁使用的协议没有很好地实现或执行。特别是,此修复改进了语句的锁处理,例如将master更改为显示奴隶状态,刷新日志.(错误# 13779291)

  • 复制:当记录同时影响事务性表和非事务性表的事务时,以下语句有时会以错误的顺序或在事务边界的错误一侧写入二进制日志:

    (错误# 13627921)

  • 复制:设置binlog_checksum在主服务器上复制到从服务器上未知的值会导致复制失败。现在,在这种情况下,复制校验和将在从服务器上禁用,复制将停止并显示适当的错误消息。(Bug #13553750, Bug #61096)

  • 复制:要提供崩溃安全的从站,以前必须更改存储引擎slave_master_infoslave_relay_log_info,slave_worker_info表从MyISAMInnoDB手动,通过发出ALTER TABLE.为简化使用这些从日志表进行复制的设置,现在使用InnoDB存储引擎。(错误# 13538891)

  • 复制:当奴隶被设置使用将master更改为MASTER_DELAY选项等于任何大于零的允许值,然后停止使用停止奴隶,指向当前中继日志位置(如SHOW SLAVE STATUS所示),并再次启动,开始的奴隶失败,出现错误无法初始化主信息结构.(错误# 12995174)

  • 复制:——relay-log-space-limit选项有时会被忽略。

    更具体地说,当SQL线程进入睡眠状态时,它允许I/O线程以一种绕过中继日志空间限制的方式对附加事件进行排队,而队列中的事件数量可能会增长到远远超过需要旋转中继日志的程度。现在,在这种情况下,SQL线程检查I/O线程是否应该旋转,并为SQL线程提供清除日志的机会(从而释放空间)。

    注意,当SQL线程处于事务中间时,它不能清除日志;它只能请求更多的事件,直到事务完成。一旦事务完成,SQL线程可以立即指示I/O线程旋转。(Bug #12400313, Bug #64503)

    参考文献:参见Bug #13806492。

  • 复制:长度超过主转储线程大小的事件max_allowed_packet导致复制失败。当更新许多大行并使用基于行的复制时,可能会发生这种情况。

    作为修复的一部分,一个新的slave_max_allowed_packet添加系统变量,允许max_allowed_packet被从SQL和I/O线程超越。现在,从主服务器传输到从服务器的数据包大小只根据这个值进行检查,而不根据的值进行检查max_allowed_packet.(Bug #12400221, Bug #60926)

  • 复制:语句的使用AUTO_INCREMENTLAST_INSERT_ID ()RAND (),或者在使用基于语句的复制和复制过滤服务器选项时,用户变量可能应用在从服务器上的错误上下文中(参见服务器如何评估复制过滤规则).(Bug #11761686, Bug #54201)

    参考文献:参见Bug #11754117, Bug #45670, Bug #11746146, Bug #23894。

  • 复制:一个插入导入到具有复合主键的表中AUTO_INCREMENT不是此组合键的第一列的列对于基于语句的二进制日志记录或复制是不安全的。此类语句现在被标记为不安全的,并且在使用声明二进制日志记录格式。有关更多信息,请参见二进制测井中安全语句和不安全语句的确定,以及复制和AUTO_INCREMENT

    请注意

    的表不受此问题的影响InnoDB存储引擎,自一个InnoDB有扶手的桌子AUTO_INCREMENT列需要至少一个键,其中自动递增列是唯一的列或最左边的列。

    (Bug #11754117, Bug #45670)

    参考文献:参见Bug #11761686, Bug #54201, Bug #11746146, Bug #23894。

  • 复制:将复制从库升级到MySQL 5.6.2或更高版本后,启用查询缓存最终会导致从库失败。(Bug #64624, Bug #14005409)

  • 微软的Windows操作系统:在Windows上,mysqlslap试图使用共享内存连接时崩溃。(Bug #31173, Bug #11747181, Bug #59107, Bug #11766072)

  • 微软的Windows操作系统:对于Microsoft Windows,已弃用的MySQL配置向导不再分发,取而代之的是更新的MySQL安装程序。

  • 在运行ALTER TABLE资源描述丢弃表空间对于一个InnoDB表,某些其他ALTER TABLE重命名表或重建主键等操作可能会导致崩溃。(错误# 14213568)

  • 形式的条件其中p1 AND (p2 OR p3),优化器现在使用的索引合并访问方法(p2、p3)如果它比范围扫描更有效的话p1.以前,在可能进行范围扫描时不考虑索引合并。(错误# 14208922)

  • 本应显示“YEAR(2)”的错误消息改为“YEAR(0)”。(错误# 14167585)

  • 对于调试版本,插入ignore到…选择选择了超过max_join_size行可以引发断言。(错误# 14145442)

  • 通过将通用查询日志记录到表中,在只读事务中禁用了日志记录,因为日志表上的写锁获取被阻塞了。(错误# 14136866)

  • 存档如果不构建性能架构,就无法构建存储引擎。(错误# 14116252)

  • 如果请求将不存在的页面加载到InnoDB缓冲池innodb_buffer_pool_load_at_startup配置选项,后续的关机操作可能会挂起。(错误# 14106082)

  • 在调试版本中,服务器无法从存储引擎检查错误状态并提出断言。(错误# 14101852)

  • 对象的创建过程中出现的警告InnoDBROW_FORMAT =动态而且innodb_file_per_tableDisabled会引发断言。(错误# 14101563)

  • 派生表和创建的表创建表…选择使用单行查询的输出可以将第一列的值改为0。(错误# 14069831)

  • 触发器中子查询结果的列可空性评估不正确可能导致列不能为空错误。(Bug #14069810, Bug #14005353)

  • 的性能模式没有生成一致的摘要值调用语句。(错误# 14069132)

  • LooseScan半连接策略可能无法从结果集中删除重复项。(错误# 14053325)

  • 某些论点RPAD ()可能导致未初始化变量警告。(错误# 14039955)

  • 用于编译的调试版本gcov,使用DBUG_SUICIDE失去了gcov数据。(错误# 14028421)

  • 当删除强制外键约束的索引时foreign_key_checks = 0后,涉及外键列的进一步操作可能导致严重错误foreign_key_checks选项已重新启用。(错误# 14025221)

  • 管理语句中内部提交失败的处理不当,例如分析表可能导致引发断言。(错误# 14001091)

  • 小数计算不当时间作为参数的值如果()IFNULL ()可能导致服务器崩溃。(Bug #13988413, Bug #14042545)

  • 一些论点挤出时间()可能导致缓冲区溢出。(错误# 13982125)

  • 对于调试版本,将双精度值转换为lldiv_t类型可能引发断言。(错误# 13976233)

  • 多表故障处理不当更新忽略语句可能导致引发断言。(错误# 13974815)

  • 按外部对象分组的查询子查询中的列导致服务器崩溃。(错误# 13966809)

  • 选择MIN ()MAX ()的左或右连接INFORMATION_SCHEMA表可能导致服务器崩溃。(错误# 13966514)

  • 包含对用户变量引用的查询没有被写入常规查询日志,并进行了一些重写,而不是像接收到的那样。(错误# 13958454)

  • 对于调试版本,优化器可以在检查排序顺序时更改查询计划并返回不正确的结果。(错误# 13949068)

  • 一个无限的线程循环可能在Performance Schema中发展,导致服务器失去响应。(错误# 13898343)

  • 性能模式表聚合操作的开销过大。(错误# 13862186)

  • version_compile_machine系统变量有时不包含该值64对于在64位系统上编译的服务器二进制文件。(错误# 13859866)

  • 中带有子查询的一些查询子句导致服务器崩溃。(错误# 13848789)

  • InnoDB持续统计功能被打开,一个ALTER TABLE关于InnoDB带有删除标记记录的表可能导致崩溃(非调试版本)或断言错误(调试版本)。(Bug #13838962, Bug #13867915)

  • 在引导模式下,如果服务器提前中止,则服务器信号处理程序线程不会关闭。(错误# 13837221)

  • MySQL 5.6中的一些错误与MySQL 5.5中的错误编号不同。(错误# 13833438)

  • 如果杀死查询中断一个插入更新它有忽略修改符OK被错误地返回给客户端,而不是错误代码。现在出现错误(查询执行被中断)返回。(错误# 13822652)

  • 如果杀死查询在派生表物化过程中中断了一条语句,随后试图读取不存在的物化表时,服务器崩溃。(错误# 13820776)

  • 对于两个表连接,不正确的成本计算可能导致不正确的连接顺序。(错误# 13810048)

    这个问题是Bug #26106的回归。

  • 性能模式将标识符存储在摘要表中为use utf8不需要先从原始字符集转换它们。(错误# 13809293)

  • 不正确的存储程序缓存可能导致存储程序中的语句包含集团子句跨多个程序调用返回不同的结果。(错误# 13805127)

  • 对于比较时态值和索引字符列,优化器可以应用范围方法,从而执行只找到文字匹配的索引搜索。这是不正确的,因为MySQL允许在表示为字符串的时态值中使用各种分隔符。(错误# 13803810)

  • 对优化器跟踪输出做了一些澄清。(错误# 13799348)

  • viosslfactories没有在Oracle Linux 6.0上编译CMake选项-DWITH_SSL =系统而且-DWITH_DEBUG = 1.(错误# 13799126)

  • 在调试版本中,关闭期间信号处理程序中的竞态条件导致服务器崩溃。(错误# 13793813)

  • 引用视图并使用半连接转换执行的准备好的语句可以为不同的执行返回不同的结果。(错误# 13773979)

    参考文献:参见Bug #14641759。

  • 的外部连接查询所有可能返回不正确的结果,因为优化器错误地重写了它们以使用内部连接。(错误# 13735712)

  • (a,b) IN (SELECT c,d FROM t1 WHERE…)会产生不正确的结果,如果t1有一个索引(c, d)而且cd包含值。(错误# 13731417)

  • 对于有效地导致完整索引扫描的开放范围,优化器不会丢弃不需要的范围谓词。(错误# 13731380)

  • 根据操作数的顺序,范围优化器有时不将等价表达式视为相同的。例如,它可以治疗A <= b而且B >= a不同。(错误# 13701206)

  • 在启用半连接优化的情况下,对于表数量大于搜索深度的查询会引发断言。(错误# 13685026)

  • 截断一个表分区不会使使用该表的查询缓存中的查询无效。(错误# 13485448)

  • 设置max_sort_length值过小可能导致服务器崩溃。(错误# 13485416)

  • 中使用文字值执行的查询在哪里子句可以返回不同于从单独表中选择相同文本值的相同查询的结果选择的声明在哪里条款。(错误# 13468414)

  • 条件处理程序代码可以假设在处理程序执行之后,控制将向上传递一个级别到父级,有时会导致服务器崩溃。(错误# 13431226)

  • 如果一个GROUP_CONCAT ()使用中间结果(例如,if命令截然不同的),单个中间结果都被截断到最多64K,即使group_concat_max_len系统变量设置为较大的值。现在任何中间结果和最终结果的长度都由group_concat_max_len价值。(错误# 13387020)

  • 查询与所有由于错误的查询转换,子查询谓词可能返回不正确的结果。(错误# 13330886)

  • 在索引扫描和随机扫描之间切换处理程序接口可能导致接口无法正确地重新初始化扫描。(错误# 13008220)

  • 文件名的存在空虚测验数据库阻止该数据库被删除。(错误# 12845091)

  • 的查询按计数排序(*)而且限制,优化器可能会选择产生不正确结果的执行计划。(错误# 12713907)

  • 对于一些应该在非主索引上使用范围扫描执行并且需要使用文件排序的子查询,只有子查询的第一次执行是作为范围扫描执行的。接下来的所有执行都是作为全表扫描进行的,这导致了较差的性能。此外,如果使用了索引条件下推,则可能返回不正确的结果。(错误# 12667154)

  • IPv6功能包括IS_IPV6 ()使用使用多字节字符集的参数生成Valgrind警告。(Bug #12635232, Bug #14040277)

  • 使用的查询STRAIGHT_JOIN和使用多范围读优化执行可能会导致内存泄漏。(错误# 12365385)

  • 降低了性能模式的开销。(错误# 12346211)

  • 使用方差或标准偏差聚合函数的子查询可能返回不同的结果,这取决于是否optimizer_switch物质化启用Flag。

    请注意

    这些聚合函数现在可以返回与以前不同的小数点数的结果。

    (错误# 11766758)

  • 在Windows上,在引导过程中初始数据库创建失败。(错误# 11766342)

  • 优化器中的回归错误可能导致过度的磁盘使用更新声明InnoDB表。对于使用innodb_file_per_table启用,优化表可用于恢复过度使用的空间。中创建的表InnoDB系统表空间,需要执行转储并恢复到系统表空间的一个新实例中。(Bug #65745, Bug #14248833)

  • 加载UCA或LDML排序规则描述时发生的解析错误没有写入错误日志。(Bug #65593, Bug #14197426)

  • 对于从某些视图返回的列,可能产生不正确的元数据。(Bug #65379, Bug #14096619)

  • 如果一个帐户有一个非零MAX_USER_CONNECTIONS价值,价值并不总是被尊重。(Bug #65104, Bug #14003080)

  • 当一个ALTER TABLE使用无效的外键约束执行的操作,报告的错误为ER_CANT_CREATE_TABLE而不是ER_CANNOT_ADD_FOREIGN.(Bug #64617, Bug #13840553)

  • 保存点语句在内部被错误地禁止XA事务。(Bug #64374, Bug #13737343)

    参考文献:参见Bug #11766752。

  • 如果慢查询日志文件是命名管道,则服务器在关闭时崩溃。(Bug #64345, Bug #13733221)

  • 一些捷克错误消息包含无效字符。(Bug #64310, Bug #13726075)

  • lower_case_table_names = 2在Windows或OS X等不区分大小写的文件系统上,创建表…就像没有保留语句中给出的目标表名的字母大小写。(Bug #64211, Bug #13702397)

  • 存档存储引擎没有检测,因此没有显示在性能模式表中。(Bug #63340, Bug #13417440)

  • 性能模式错误地在Windows文件名中显示了一些反斜杠(通过将其加倍)。(Bug #63339, Bug #13417446)

  • 使用了不适当的互斥锁来保护随机数生成,导致连接操作期间发生争用。(Bug #62282, Bug #12951609)

  • mysql_store_result ()而且mysql_use_result ()不用于预处理语句,也不打算被称为followingmysql_stmt_execute (),但在以这种方式调用时未能返回错误libmysqld.(Bug #62136, Bug #13738989)

    参考文献:参见Bug #47485。

  • 在某些条件下,的效果重命名用户直到冲洗的特权被使用了(这应该是不必要的)。(Bug #61865, Bug #12766319)

  • 如果bind_address系统变量被赋予一个主机名值,而主机名解析为多个IP地址,服务器启动失败。例如,bind_address = localhost,如果本地主机决心兼顾两者127.0.0.1而且:: 1,启动失败。在这种情况下,服务器更倾向于使用IPv4地址。(Bug #61713, Bug #12762885)

  • 显示表很慢,除非所需的信息已经在磁盘缓存中。(Bug #60961, Bug #12427262)

  • 在Windows上,mysql使用完整路径名调用客户机时,客户机崩溃。(Bug #60858, Bug #12402882)

  • 的组合执行时,会话可能会死锁选择删除表杀了,显示引擎innodb状态.(Bug #60682, Bug #12636001)

  • 的处理过程中发生的错误插入延迟语句可能导致服务器崩溃。(Bug #60114, Bug #11827404)

  • 使用CONCAT ()构造一个模式就像模式匹配可能导致内存损坏和匹配失败。(Bug #59140, Bug #11766101)

  • 由于竞态条件,对于不同的查询,两个线程可能最终使用相同的查询ID。(Bug #58785, Bug #11765785)

  • 对于使用范围谓词的查询,优化器可能会误判所使用的关键部件的数量,从而可能导致服务器崩溃。(Bug #58731, Bug #11765737)

  • 显示语句将存储过程、存储函数和事件名称区分大小写。(Bug #56224, Bug #11763507)

  • mysqlbinlog如果发生文件写入错误,则退出且没有错误代码。(Bug #55289, Bug #11762667)

  • yaSSL拒绝OpenSSL接受的有效SSL证书。(Bug #54348, Bug #11761822)

  • 如果服务器在执行网络I/O时持有一个全局互斥锁,客户机断开连接可能会很慢。(Bug #53096, Bug #11760669)

  • 一个多个表更新忽略关键字导致了不恰当和没有意义从存储引擎得到错误0消息。(Bug #49539, Bug #11757486)

  • 当倾倒mysql数据库,, mysqldump不包括general_log而且slow_query_log表,因为它们不能被锁定。在重新加载转储文件后,如果该文件包含删除数据库的声明mysqldatabase:数据库不再包含日志表,试图将日志记录到它们的尝试失败。现在, mysqldump的语句来重新创建general_log而且slow_query_log表,以便它们在加载转储文件后仍然存在。日志表内容仍未转储。(Bug #45740, Bug #11754178)

  • 当一个查询被终止时,错误代码并不总是通过服务器代码正确地向上传播。(Bug #43353, Bug #11752226)

  • 对于使用带引号的数字而不是不带引号的数字的条件,优化器可以选择更糟糕的执行计划。(Bug #43319, Bug #11752201)

  • 使用的查询(在哪里col1col2)在(常量常量))优化了选择,但不是为了删除更新.(Bug #43187, Bug #11752097)

  • ALTER TABLE忽略关键字,忽略现在是提供给存储引擎的信息的一部分。在选择用于修改表的就地算法还是复制算法时,将由存储引擎决定是否使用该算法。为InnoDB索引操作,忽略如果索引是唯一的,则不使用,因此使用复制算法。(Bug #40344, Bug #11750045)

  • 左连接在派生表上的速度非常慢。现在通过使用子查询物化来解决这个问题。(Bug #34364, Bug #11747876)

  • MySQL在强制执行NO_ZERO_DATE而且NO_ZERO_IN_DATE的列定义中的默认值的SQL模式创建表而且ALTER TABLE语句。以前,即使没有启用严格模式,在启用这些SQL模式的情况下,无效的默认日期也会产生错误。现在有了NO_ZERO_DATENO_ZERO_IN_DATE如果未启用严格的SQL模式,无效的默认日期将产生警告,如果启用严格模式则会产生错误。(Bug #34280, Bug #11747847)

  • 冗余指定的键太长可以通过索引创建操作生成消息。(Bug #31149, Bug #11747177)

  • 类的返回值,存储引擎API的代码没有检查ha_rnd_init ()ha_index_init (),index_init ()功能。(Bug #26040, Bug #11746399, Bug #54166, Bug #11761652)

  • 对于长于64个字符的表名或数据库名,错误错误的表名被归还而不是标识符过长.(Bug #25168, Bug #11746295)

  • 在启动过程中,mysqld可以不正确地删除一个已经运行的PID文件mysqld.(Bug #23790, Bug #11746142)

    参考文献:参见Bug #14726272。

  • 使用ALTER TABLE添加时间戳列包含默认CURRENT_TIMESTAMP在定义中导致列包含“0000-00-00”就是,而不是当前时间戳。(Bug #17392, Bug #11745578)