10bet网址
MySQL 5.7版本说明
相关的文档10bet官方网站 下载这些版本说明
PDF(美国Ltr)- 3.1 mb
PDF (A4)- 3.1 mb
HTML下载(TGZ)- 0.6 mb
HTML下载(Zip)- 0.7 mb


MySQL 5.7版本说明/ MySQL 5.7.4的更改(2014-03-31,里程碑14)

MySQL 5.7.4的变更(2014-03-31,里程碑14)

请注意

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

为纪念

这个版本是为了纪念MySQL工程家族的两位年轻工程师Astha和Akhila,他们在20岁出头的时候就去世了。这是一个小小的纪念,也是一种感谢您对5.7版本所做贡献的方式。我们会想念你的。

字符集支持

  • MySQL现在包含一个gb18030支持中国标准GB18030字符集的字符集。有关MySQL字符集支持的更多信息,请参见字符集,排序规则,Unicode

编译的笔记

  • 清理源代码库的工作已经完成,包括:删除不需要的CMake检查;从源文件中删除未使用的宏;重新组织头文件以减少依赖的数量并使它们更加模块化,删除没有定义的函数声明,用行业标准库中的等价函数替换本地编写的函数。

弃用和删除说明

  • 不兼容的更改

    请注意

    这里所描述的更改ERROR_FOR_DIVISION_BY_ZERONO_ZERO_DATE,NO_ZERO_IN_DATE当显式命名时不做任何事情,并在严格模式中包含它们在MySQL 5.7.8中被恢复(参见MySQL 5.7.8(2015-08-03,发布候选版本)).目的仍然是将它们与严格模式结合使用,因此在5.7.8中,如果启用了它们而没有同时启用严格模式,则会出现警告,反之亦然。

    ERROR_FOR_DIVISION_BY_ZERONO_ZERO_DATE,NO_ZERO_IN_DATESQL模式现在已被弃用,显式命名时不执行任何操作。相反,它们的效果包含在严格SQL模式(STRICT_ALL_TABLESSTRICT_TRANS_TABLES).换句话说,严格模态现在的意思和之前严格模态加上ERROR_FOR_DIVISION_BY_ZERONO_ZERO_DATE,NO_ZERO_IN_DATE模式。此更改减少了依赖于严格模式的SQL模式的数量,并使它们成为严格模式本身的一部分。

    在这个版本的MySQL中,为SQL模式的变化做好准备是明智的之前升级为读MySQL 5.7中的SQL模式更改.该讨论提供了评估应用程序是否会受到这些更改影响的指导方针。

    ERROR_FOR_DIVISION_BY_ZERONO_ZERO_DATE,NO_ZERO_IN_DATESQL模式名仍然被识别(因此引用它们的语句不会产生错误),但在未来的MySQL版本中将删除它们。要为不存在这些模式名的MySQL版本做准备,应该修改应用程序以不引用它们。

  • InnoDB:UNIV_LOG_DEBUG调试标志,不再是完全功能,已被删除。(错误# 18080537)

  • InnoDB:innodb_use_sys_malloc而且innodb_additional_mem_pool_size在MySQL 5.6.3中弃用的系统变量在MySQL 5.7.4中被移除。

  • InnoDB:InnoDB表空间监视器和InnoDB在MySQL 5.7.4中删除了表监视器。可以获取表和表空间元数据INFORMATION_SCHEMA表。

  • stage/sql/等待获取readlock性能架构工具不再使用,已被删除。(Bug #71298, Bug #18035404)

  • 弃用的msql2mysqlmysql_convert_table_formatmysql_find_rowsmysql_fix_extensionsmysql_setpermission,mysqlaccess公用设施被拆除了。(错误#27482,错误#69012,错误#69014,错误#69015,错误#69016,错误#69017,错误#11746603,错误#16699248,错误#16699279,错误#16699284,错误#16699317,错误#18179576)

  • mysqlbug,一个用于生成错误报告的过时脚本,已经从源代码中删除。这个脚本的头包含了MySQL是如何配置和编译的信息,这对于在错误报告中包含它是很有用的。类似的信息可以在文档/ INFO_BINMySQL安装文件。

  • 弃用的忽略条款ALTER TABLE已删除,使用它会产生错误。

  • 元数据锁定子系统现在使用无锁算法来获取和释放DML语句典型的锁。这在涉及大量小型只读事务的工作负载的多核机器上提供了更好的性能/可伸缩性。

    元数据锁定子系统现在也使用无锁散列,而不是使用互斥锁保护的散列。这种变化的一个含义是metadata_locks_cache_size而且metadata_locks_hash_instances系统变量不再有任何作用,所以它们已被弃用,并将在未来的MySQL版本中删除。

性能架构说明

  • 性能模式的性能通过以下方式得到了提高:

    • 当一个线程连接时,所有每线程统计信息的重置现在被延迟,直到统计信息被实际收集。这种惰性初始化有利于具有非常短时间会话的工作负载,对这些会话禁用了检测。

    • 当一个线程断开时,每个线程的统计信息只聚合到实际收集的数据的父统计信息。这种优化有利于具有非常短时间会话的工作负载,这些会话禁用了插装。

    • 对于语句插装,重置一个个体EVENT_NAME统计信息现在也会延迟到统计信息实际收集完毕。这有利于只包含少数几种类型语句的所有工作负载(选择插入更新删除,等等)从MySQL支持的非常大的集合语句。只有实际执行的事件名的语句才会在断开连接时聚合。

    • 通过删除一些为将来使用保留的、实际上没有使用的属性,可以减少内部内存缓冲区的内存占用。特别是,互斥锁、rwlock和条件的统计现在需要更少的内存。

    Performance Schema现在检测准备好的语句(用于二进制和文本协议):

    有关更多信息,请参见prepared_statements_instances表

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

    参考文献:参见:Bug #18324285。

安全记录

  • 不兼容的更改:MySQL现在允许数据库管理员建立一个密码自动过期的策略:任何使用密码过期的帐户连接到服务器的用户都必须修改密码。该实现有以下组件:

    • default_password_lifetime系统变量定义全局密码过期策略。的值N大于零意味着密码的生命周期是N天。值为0禁用密码自动过期。默认值是360;密码必须大约每年更改一次。

    • mysql.user表中有存储个人帐户到期策略信息的新列:

      • password_last_changed指示密码最后一次更改的时间。当客户端连接时,服务器使用此列来确定密码是否超过了有效期,并且必须根据有效的过期策略进行更改。

      • password_lifetime帐户密码的生存时间。的值N大于零意味着密码的生命周期为N天。0禁用密码自动过期。(默认值)表示应用全局过期策略。

    • 改变用户语句有新的选项,可为个人帐户设置密码过期策略。

    如果您从较早的版本升级到这个MySQL版本,您必须运行mysql_upgrade(并重新启动服务器)将更改合并到mysql.user表格对于每个账户,mysql_upgrade方法的执行时间password_last_changed列和集password_lifetime.这将导致默认的全局过期策略生效(密码的生命周期为360天)。

    有关更多信息,请参见密码管理,ALTER USER语句

  • 不兼容的更改:MySQL部署安装mysql_install_db现在默认情况下是安全的。实现了以下修改,作为默认的部署特性:

    • 安装过程只创建一个账户,“根”@“localhost”,自动为该帐户生成随机密码,并标记密码过期。MySQL管理员必须以使用随机密码并使用设置密码选择新密码。(随机密码在.mysql_secret运行脚本的有效用户的主目录中的文件。)

    • 安装不会创建匿名用户帐户。

    • 安装不会创建测验数据库。

    的默认操作模式来实现这些更改mysql_install_db,它会在RPM安装操作期间自动调用。因此,更改还会影响调用的非rpm安装方法mysql_install_db手动。

    因为mysql_install_db默认情况下,部署现在是安全的——随机密码选项是不必要的,已被删除。它已经被——skip-random-passwords选择。您可以使用此选项显式生成为的部署默认安全:

    • 没有生成随机密码“根”@“localhost”帐户。

    • 一个测验创建的数据库可被任何用户访问。

    请注意

    mysql_install_db不再创建匿名用户账户,即使——skip-random-passwords

    mysql_secure_installation程序现在有一个——使用默认选项,该选项使程序以非交互方式执行。它可以用于无人值守的安装操作。

增加或更改的功能

  • 不兼容的更改:AES_ENCRYPT ()而且AES_DECRYPT ()函数现在允许块加密模式的控制,并接受一个可选的初始化向量参数:

    • block_encryption_mode系统变量控制基于块的加密算法的模式。默认值为aes - 128欧洲央行,表示使用128位的密钥长度和ECB模式进行加密。

    • 一个可选的init_vector参数为需要它的加密模式提供初始化向量:

      AES_ENCRYPT (strkey_str(,init_vector]) AES_DECRYPT (crypt_strkey_str(,init_vector])
    • 可以通过调用new生成用于初始化向量的随机字节串RANDOM_BYTES ()函数。

    有关更多信息,请参见加密和压缩功能

    这些更改生成的语句使用AES_ENCRYPT ()AES_DECRYPT ()对于基于语句的复制不安全,不能将它们存储在查询缓存中。使用RANDOM_BYTES ()对于基于语句的复制不安全,并且不能存储在查询缓存中。

  • 性能;InnoDB:InnoDB现在支持多个页面清理线程,用于从缓冲池实例中刷新脏页面。一个新的系统变量,innodb_page_cleaners,用于指定页清理器线程数。的默认值。1维护mysql 5.7.4之前的配置,其中只有一个页面清理线程。这个增强建立在MySQL 5.6.2中完成的工作之上,它引入了一个单一的页面清理器线程,将缓冲池刷新工作从InnoDB掌握线程。

  • InnoDB:InnoDB现在支持移动式表空间用于分区的特性InnoDB表格和个人InnoDB表分区。这种增强简化了分区表的备份过程,并支持在MySQL实例之间复制分区表和单个表分区。有关其他信息,请参见导入InnoDB表.(Bug #18121824, Bug #70196, Bug #18304194, Bug #71784)

  • InnoDB:用于标识对象的参数InnoDB页被两个新类和褶皱价值和zip_size价值计算得到了优化。这些更改减少了传递给函数的页面标识符参数的数量,从而简化了代码。(错误# 18073495)

  • InnoDB:如果系统表空间文件(ibdata文件)位于支持原子写的Fusion-io设备上,doublewrite缓冲自动关闭,所有数据文件使用Fusion-io原子写。由于doublewrite缓冲区设置是全局的,所以对于非fusion -io硬件上的数据文件,也会禁用doublewrite缓冲区。

    该特性仅在Fusion-io硬件上支持,在Linux操作系统上仅在Fusion-io nvfs上启用。为了充分利用这一特性,一个innodb_flush_method设置O_DIRECT建议。(错误# 18069105)

  • InnoDB:反向索引叶页扫描已得到优化。btr_pcur_restore_position_func ()现在可以对反向游标执行乐观恢复,这减少了块- >互斥根页上的争用,特别是并发反向扫描。(错误# 17666170)

  • InnoDB:一个新的系统变量,innodb_log_write_ahead_size,允许您将重做日志的预写块大小配置为与操作系统或文件系统缓存块大小匹配的值,以避免read-on-write用于重做日志写入。当重做日志的预写块大小与操作系统或文件系统缓存块大小不匹配,导致重做日志块没有完全缓存到操作系统或文件系统时,就会发生写时读。避免读对写提高了重做日志写的吞吐量稳定性。(错误# 17571371)

  • InnoDB:在线DDL支持扩展到以下常规和分区操作InnoDB表:

    (错误# 13975225)

  • InnoDB:新的全局配置参数,innodb_status_output而且innodb_status_output_locks,允许您动态启用和禁用标准InnoDB监控和InnoDB锁定监视器的周期输出。以前,为周期性输出启用和禁用这些监控器需要创建和删除特殊命名的表(innodb_monitor而且innodb_lock_monitor).有关其他信息,请参见InnoDB监视器

  • 复制:通过删除发送缓冲区的不必要重新分配,已经优化了二进制日志转储线程。以前,内存会被分配,然后为发送到slave的每个事件释放,即使这不是严格必要的。通过这种优化,MySQL Server可以通过让转储线程使用自适应的内存分配来更好地利用硬件资源,这也可以减少CPU的使用。(Bug #11747349, Bug #31932, Bug #11752288, Bug #43426, Bug #13727951)

  • 复制:现在在许多情况下都可以执行将master更改为未经首次发行停止奴隶.的行为中实现以下更改来添加此功能将master更改为语句,它现在只取决于从SQL线程或从I/O线程是否停止,如下所述:

    • 如果SQL线程停止,则可以执行将master更改为使用RELAY_LOG_FILERELAY_LOG_POS,MASTER_DELAY选项,即使从I/O线程正在运行。当I/O线程运行时,此语句不能使用其他选项。

    • 如果I/O线程停止,则可以执行将master更改为使用此语句的任何选项除了RELAY_LOG_FILERELAY_LOG_POS,或MASTER_DELAY,即使SQL线程正在运行。这三个选项不能在I/O线程运行时使用。

    • SQL线程和I/O线程在发出之前都必须停止将master更改为Master_auto_position = 1

    如果正在使用基于语句的复制和临时表,则可以使用将master更改为后面的语句。停止奴隶语句在从服务器上保留临时表。作为这组改进的一部分,现在每当发生这种情况时都会发出警告。在这种情况下,您可以通过确保Slave_open_temp_tables在执行这些语句之前等于0。

    有关更多信息,请参见CHANGE MASTER TO语句,故障切换过程中切换源

  • 复制:实现了发送和接收半同步复制确认信号的独立线程,以便事件流和ACK流可以同时发送和接收。这将减少许多常见的延迟,从而在许多设置中提高半同步复制的性能。

  • Solaris:在Solaris中,mysql_config——填词现在包括- r/道路/ /库这样可以在运行时找到库。(错误# 18235669)

  • 在Windows上,NOMINMAX设置时使用ADD_DEFINITIONS ()CMake宏而不是config.h.cmake所以它是设置的,甚至没有包括my_config.h.(错误# 18192896)

  • CMake支持编译MySQL用海湾合作委员会在Solaris上进行了改进。Solaris的二进制发行版现在使用海湾合作委员会而不是Sun Studio,以支持编译不由Sun Studio处理的代码。除了嵌入式库之外,客户端程序和客户端库仍然使用Sun Studio构建。

    这种变化的结果是,在Solaris上,mysql_config不再为链接到嵌入式库提供参数,因为现在使用海湾合作委员会而不是Sun Studio。要获得嵌入式库的链接参数,请使用替代脚本mysql_server_config代替。(Bug #18146422, Bug #17826757)

  • CHECK_FUNCTION_REPLACEMENT ()CMake宏已从Windows.cmake替换函数是显式设置的,因为检查的结果已经硬编码进去了WindowsCache.cmake.(错误# 18116661)

  • MySQL现在使用Clang 3.4编译。(错误# 18047020)

  • 在MySQL 5.7.1中,MySQL测试套件mysql-test-run.sh程序被修改以启动服务器InnoDB而不是MyISAM默认存储引擎。MySQL测试套件中的所有测试都被修改为包含一个force_default_myisam.inc文件。必须这样做,因为大多数遗留测试结果都记录在MyISAM引擎和失败的结果差异,如果运行InnoDB.正在进行一个迁移和删除这些测试的项目force_default_myisam.inc用于不需要的测试MyISAM.在5.7.4中rpl而且binlog迁移了套房和主套房的部分。(错误# 17902011)

  • 添加了性能模式检测来捕获事务事件的gtid。(错误# 17799147)

  • 的性能模式开销减少了pfs_lock一般原子操作的实现和使用。(错误# 17766582)

  • CMake如果使用的是2010年以前的Visual Studio版本,现在会中止Windows上的配置过程。(错误# 17730320)

  • 一个新的CMake选项,WITH_MSAN,允许为支持MemorySanitizer的编译器启用它。(错误# 17632319)

  • 在此之前,ALTER TABLE在MySQL 5.6中可以修改一个表,使结果同时具有5.5和5.6格式的时态列。现在ALTER TABLE将旧的时态列升级为5.6格式添加一列改变列修改列添加索引,操作。方法无法完成此转换原地算法,因为表必须重建,所以指定算法=原地在这些情况下会导致错误。指定算法=复制如果有必要的话)。

    ALTER TABLE是否产生一个时间格式转换,它生成一个可以显示的消息显示警告旧格式的TIME/TIMESTAMP/DATETIME列已升级为新格式.(错误# 17246318)

  • mysql_version.hFile定义了两个新的宏,LIBMYSQL_VERSION而且LIBMYSQL_VERSION_ID,指示客户端库版本的字符串和数字形式。

    • 在MySQL Server发行版包含的客户端库中,这些宏的值与MYSQL_SERVER_VERSION而且MYSQL_VERSION_ID.例如,在MySQL 5.7.4中,MYSQL_SERVER_VERSION而且LIBMYSQL_VERSION“5.7.4-m14”,MYSQL_VERSION_ID而且LIBMYSQL_VERSION_ID50704

    • 在Connector/C发行版包含的客户端库中,MYSQL_SERVER_VERSION而且MYSQL_VERSION_ID有Connector/C发行版所基于的MySQL版本的值,而LIBMYSQL_VERSION而且LIBMYSQL_VERSION_ID表示Connector/C版本。例如,Connector/C 6.1.3是基于MySQL 5.7.4的,所以MYSQL_SERVER_VERSION而且MYSQL_VERSION_ID有以下价值观“5.7.4-m14”而且50704,而LIBMYSQL_VERSION而且LIBMYSQL_VERSION_ID有以下价值观6.1.3”而且60103

    此外,mysql_get_client_info ()而且mysql_get_client_version ()客户端库中的C API函数现在返回反映提供客户端库的发行版类型的值:

    (错误# 17171724)

  • 降低了管理费用filesort比较操作。(错误# 14635144)

  • 根据社区反馈,默认值为10eq_range_index_dive_limit系统变量被证明太低了。默认值已提高到200。(Bug #70586, Bug #17587952)

  • mysql_install_db在缺少所需的Perl模块时提供更有用的诊断消息。(Bug #69844, Bug #18187451)

  • CMake现在支持-DTMPDIR =dir_name选项指定默认值tmpdir价值。如果未指定,默认为P_tmpdir< stdio . h >.感谢Honza Horak的补丁。(Bug #68338, Bug #16316074)

  • MySQL现在支持执行的服务器端超时选择声明:

    • 选择支持一个MAX_STATEMENT_TIME选项指定单个查询的超时时间。例如:

      SELECT MAX_STATEMENT_TIME = 5000 id, name FROM my_table WHERE…

      如果语句的执行超过了超时值,服务器将终止该语句。

    • max_statement_time系统变量指定的超时值选择在会话中执行的语句包含noMAX_STATEMENT_TIME选择。如果该值为0,则表示不启用超时。

    • Max_statement_time_exceededMax_statement_time_set,Max_statement_time_set_failed状态变量提供有关的信息选择受超时影响的语句。

    超时值以毫秒为单位。

    有关更多信息,请参见SELECT语句,服务器系统变量

    感谢Davi Arnaut为这个功能提供的补丁。(Bug #68252, Bug #16271666)

  • 为DML语句获取元数据锁降低了开销。(Bug #58627, Bug #11765641)

  • 对数函数返回如果参数小于或等于0.0E0。他们现在也报告了一个警告无效的对数参数.(Bug #50507, Bug #11758319)

  • 使用Valgrind的代码没有预先分配内存alloc_root (),以帮助查找bug。如果使用了ASAN(地址杀毒程序),现在也会启用此行为。(Bug #44582, Bug #11753184)

  • 服务器现在可以将客户机会话状态发生的更改通知客户机。可以报告客户端会话状态的这些属性的更改:

    • 默认模式(数据库)。

    • 系统变量的特定于会话的值。

    • 用户定义的变量。

    • 临时表。

    • 准备好的语句。

    更改通知发生在MySQL客户端/服务器协议中,它现在在OK包中包含跟踪器信息,以便检测会话状态的更改。跟踪器机制的一个用途是为MySQL连接器和客户机应用程序提供一种方法,以确定是否有任何会话上下文可用,以便允许会话从一台服务器迁移到另一台服务器。(为了在负载均衡的环境中更改会话,在决定是否可以进行切换时,需要检测是否有会话状态需要考虑。)

    以下组件组成了用户界面,用于控制跟踪器并从中检索状态变化信息,从而支持在客户端实现状态变化跟踪:

    有关更多信息,请参见客户端会话状态变化的服务器跟踪

错误修复

  • 不兼容的更改:如果服务器是用——default-authentication-plugin = sha256_password选择。

    请注意

    此错误修复的结果是,MySQL 5.6.16客户端无法使用使用sha256_password插件,5.6.17客户端也不能连接到5.6.16服务器。类似地,MySQL 5.7.3客户端不能使用使用sha256_password插件。

    (错误# 17495562)

  • 重要的变化;InnoDB;分区:刷新表声明的用于出口选项现在支持分区InnoDB表。(错误# 16943907)

  • InnoDB;复制:正在尝试重置复制从站,而innodb_force_recovery大于0将返回一个神秘的错误消息:HY000:从存储引擎得到错误-1.错误信息已更改为:错误HY000:当innodb_force_recovery > 0时不允许操作.复制选项,如relay_log_info_repository =表而且master_info_repository =表中的表中存储信息InnoDB.当innodb_force_recovery大于0,则无法更新复制表,这可能导致复制管理命令失败。(Bug #17287443, Bug #69907)

  • InnoDB;复制:一个插入……在DUPLICATE KEY UPDATE在具有多个惟一索引的表上运行的语句有时会导致事件被错误地写入二进制日志。(Bug #11758237, Bug #50413)

  • InnoDB;复制:使用InnoDBmemcached插件(见InnoDB memcached插件),innodb_api_enable_binlog设置为1导致服务器内存泄漏。(Bug #70757, Bug #17675622)

  • InnoDB;微软的Windows操作系统:截断表在Windows上会报告多个chsize返回操作系统错误71错误。(Bug #18176071, Bug #71173)

  • InnoDB;微软的Windows操作系统:在Windows上,5.7.3中引入的回归将允许在同步操作期间写入日志,这在某些Windows环境中由于一个问题不应该被允许。(错误# 17824101)

  • InnoDB;Solaris:某些Solaris版本中的加载器会拒绝启动gcc编译的二进制文件(例如mysqld二进制),它使用暂停汇编指令。(错误# 18122171)

  • InnoDB:一个! sync_check_iterate(检查)断言发生在fts_create_doc_id ()在一次插入操作。(错误# 18253210)

  • InnoDB:trx_undo_truncate_start将写入重做日志临时撤销日志段,导致清除线程断言。(错误# 18252937)

  • InnoDB:未使用的参数和变量以及禁用的功能已经从重做日志代码中删除。这个补丁还包括重做日志代码的改进,包括测试支持、Valgrind工具的添加和小型代码重构。(错误# 18251675)

  • InnoDB:用户定义的类型,xid_t,被多次定义。(错误# 18251254)

  • InnoDB:双写缓冲区错误消息以不一致的方式引用了页码。(错误# 18242594)

  • InnoDB:InnoDB会对临时表空间执行不必要的重做日志写入和刷新。(错误# 18236692)

  • InnoDB:truncate_t: drop_indexes而且truncate_t: create_indexes方法将在修改系统表空间时禁用重做日志记录。(错误# 18236000)

  • InnoDB:对于全文查询,检查失败num_token小于max_proximity_item可能导致断言。(错误# 18233051)

  • InnoDB:一个无效的memmovefts_query_fetch_document会导致严重的错误。(错误# 18229433)

  • InnoDB:InnoDB对临时表空间的一些操作将写入重做日志。(错误# 18226934)

  • InnoDB:log_mutex_exit应该在之前调用log_buffer_extend当日志缓冲区互斥锁被保持时。(错误# 18202904)

  • InnoDB:GCC 4.4编译器将发出关于InnoDB解析函数,指示输出未初始化。(错误# 18192536)

  • InnoDB:为了简化代码和减少内存使用,InnoDB以前存储在哈希表中的文件级操作的重做日志扫描记录现在立即被处理。(错误# 18180875)

  • InnoDB:innodb_ft_result_cache_limit现在硬编码的最大值为4294967295字节或(2**32 -1)。的最大值以前定义为的最大值ulong.(Bug #18180057, Bug #71554)

  • InnoDB:一个更新导致内存访问错误lock_rec_other_trx_holds_expl.事务清单(trx_sys - > rw_trx_list)在没有获得事务子系统互斥锁的情况下被遍历(trx_sys - >互斥).(错误# 18161853)

  • InnoDB:InnoDB未能从doublewrite缓冲区恢复已损坏的系统表空间数据文件的第一页,导致启动失败。(Bug #18144349, Bug #18058884)

  • InnoDB:临时表空间文件大小与指定的文件大小不匹配——innodb-temp-data-file-path由于文件大小分配逻辑错误。(错误# 18141070)

  • InnoDB:Bug #14329288引入的回归会在压缩表无法装入内存时导致性能下降。(Bug #18124788, Bug #71436)

    这个问题是一个Bug #14329288的回归。

  • InnoDB:的最大值innodb_thread_sleep_delay现在是100万微秒。之前的最大值(32位为4294967295微秒,64位为18446744073709551615微秒)太大了。因为的最大值innodb_thread_sleep_delay是否受为设置的值的限制innodb_adaptive_max_sleep_delay的最大值(当设置为非零值时)innodb_thread_sleep_delay现在是否与的最大值相同innodb_adaptive_max_sleep_delay.(错误# 18117322)

  • InnoDB:fil_node_create函数将执行不必要的哈希表查找。(错误# 18116588)

  • InnoDB:INFORMATION_SCHEMA。INNODB_TRX包含一个伪造的事务ID,该事务ID值与其他地方打印的事务ID值不匹配。用于检索事务id的方法不一致。(错误# 18111007)

  • InnoDB:启动服务器时,不需要检查空间日志消息将在处理doublewrite缓冲.(错误# 18101380)

  • InnoDB:编译错误(无法找到字符串文字操作符)时返回c++ 11模式。(错误# 18082139)

  • InnoDB:在临时表上的群集索引损坏的情况下,服务器将在插入而不是返回错误。在普通表上的群集索引损坏的情况下,不会返回错误插入会成功。(错误# 18064548)

  • InnoDB:指定备用目录InnoDB表的使用datadir然后移动.ibd文件到默认MySQL数据目录将导致在尝试删除表操作。(错误# 18063570)

  • InnoDB:试图卸载InnoDBmemcached插件,而InnoDBmemcached插件仍在初始化时会杀死InnoDBmemcached守护线程。卸载应该等待初始化完成。(错误# 18038948)

  • InnoDB:全文标记器线程将终止,并出现错误的错误消息。(错误# 18021306)

  • InnoDB:在调试构建中,在二进制列上创建唯一索引,输入数据包含重复的键,将导致断言。(错误# 18010711)

  • InnoDB:srv_monitor_thread会坠毁在lock_print_info_summary ()函数之间存在竞态条件srv_monitor_thread和清除协调器线程。(Bug #17980590, Bug #70430)

  • InnoDB:布尔模式全文搜索查询将在解析期间导致内存访问冲突。(错误# 17978763)

  • InnoDB:日志功能的使用不一致。的错误修正将替换出现的流(stderr,消息而且fputs ()ib_logf ().另外,因为ib_logf ()为每条消息发出一个时间戳,错误修正删除了不必要的ut_print_timestamp ().(Bug #17935793, Bug #17534737)

  • InnoDB:由于解析器错误,包含子表达式的全文搜索查询可能返回错误的结果。(错误# 17840768)

  • InnoDB:innochecksum工具没有使用特定于windows的API来检索文件大小信息,这导致了错误的错误消息(错误:ibdata1无法找到当MySQL 5.6innochecksum超过2GB文件大小限制。innochecksum现在MySQL 5.6和MySQL 5.7都支持大于2GB的文件。(Bug #17810862, Bug #70936)

  • InnoDB:由于修复Bug#17371537所引入的回归,当使用默认的memcached引擎作为数据的备份存储时,没有为默认的memcached引擎分配内存InnoDB.(错误# 17800829)

  • InnoDB:为到期的撤消日志分配页面失败桌子坐满了错误消息而不是撤消日志已满错误消息。(错误# 17779822)

  • InnoDB:如果临时表处于活动状态时发生崩溃,InnoDB是否会在重新启动时报告无效的错误消息,指示临时表不存在InnoDB内部数据字典。(错误# 17779729)

  • InnoDB:ut_free可以连续调用不止一次。(错误# 17763472)

  • InnoDB:修改索引树可能会导致死锁。(错误# 17754767)

  • InnoDB:中的竞态条件DebugPolicy::输入()会导致分割错误sync_array_cell_print.(错误# 17713784)

  • InnoDB:在丢弃表空间using后对表进行操作修改表…丢弃表空间可能会导致严重的错误。(错误# 17700280)

  • InnoDB:持久的优化器统计信息会由于锁存争用而导致阻塞。(Bug #17699331, Bug #70768)

  • InnoDB:试图在禁用外键检查时添加无效的外键(foreign_key_checks = 0)会导致严重的错误。(错误# 17666774)

  • InnoDB:对于调试版本,联机的表重建变体ALTER TABLE,当在具有BLOB列的表上运行时,将导致在row_log_table_apply_update函数。对于普通构建,aDB_PRODUCTION将返回错误。(错误# 17661919)

  • InnoDB:一个InnoDB可能导致全文搜索失败unended令牌。应该传递字符串和字符串长度以进行字符串比较。(错误# 17659310)

  • InnoDB:匹配()与()使用长字符串作为参数的查询对()可导致在InnoDB表中包含全文搜索索引。(错误# 17640261)

  • InnoDB:以数字或特殊字符开头的数据库名称将导致全文搜索(FTS)解析器错误。(错误# 17607687)

    参考文献:参见Bug #17607956。

  • InnoDB:在某些情况下,Bug #11758237的修复引入的回归会导致断言错误插入……重复密钥更新取代语句遇到DB_DUPLICATE_KEY错误。(错误# 17604730)

    参考文献:此问题是Bug #11758237的回归。

  • InnoDB:在调试构建中,读取页面期间的合并插入缓冲区将导致内存访问冲突。(错误# 17561188)

  • InnoDB:Bug #16852278的补丁,它简化和优化了InnoDB,导致查询性能回归。(错误# 17543588)

    参考文献:参见:Bug #16852278。

  • InnoDB:sync0rw.icrw_lock_x_lock_func_nowait会不必要地打电话os_thread_get_curr_id.(Bug #17509710, Bug #70417)

  • InnoDB:删除一个memcachedInnoDB表而memcached正在执行的DML操作将导致严重错误。(错误# 17468031)

  • InnoDB:事件之后,如果立即发生崩溃,则服务器可能无法重新启动重命名表在一个ALTER TABLE重命名表序列。(错误# 17463290)

  • InnoDB:中更新表空间数据文件路径.isl文件中读取更新的表空间数据文件路径,然后执行崩溃恢复.isl文件但是SYS_DATAFILES表将不会不更新。的SYS_DATAFILES表现在使用崩溃恢复后的新数据文件路径进行更新。(错误# 17448389)

  • InnoDB:试图将表重命名为缺失的数据库将导致严重错误。(错误# 17447500)

  • InnoDB:如果每个表一个文件的表空间数据文件的第一页(第0页)损坏,恢复将停止,即使doublewrite缓冲区包含该页的干净副本。(Bug #17335427, Bug #70087, Bug #17341780)

  • InnoDB:InnoDBmemcached自述文件(README-innodb_memcached)错误地指出libevent 1.6.0是静态链接到daemon的memcached.捆绑的libevent版本是1.4.12,而不是1.6.0。(Bug #17324419, Bug #70034)

  • InnoDB:对象上至少有三个独立的插入mysql.innodb_index_stats表格改善创建表表现上,现在有了单提交操作,而不是每个插入操作一个。(Bug #17323202, Bug #70063)

  • InnoDB:服务器将在断言中停止lock_rec_has_to_wait_in_queue(锁)由于与锁定相关的问题和事务被过早删除trx_sys - > rw_trx_set.(错误# 17320977)

  • InnoDB:ALTER TABLE原地算法降低自增值失败。(Bug #17250787, Bug #69882)

  • InnoDB:注释btr0cur.cc错误地陈述btr_cur_pessimistic_update ()而且btr_cur_optimistic_update ()将接受NULL值。(Bug #17231743, Bug #69847)

  • InnoDB:dict_table_schema_check所说的dtype_sql_name不必要的。(Bug #17193801, Bug #69802)

  • InnoDB:fil_check_first_page ()检查是否失败fsp_flags_get_zip_size ()返回一个有效值,在启动时导致分割错误mysqld.(错误# 17033182)

  • InnoDB:这个函数os_file_get_status不能使用原始设备。(Bug #17023438, Bug #69424)

  • InnoDB:lock_rec_other_has_expl_req函数lock0lock.cc会做不必要的工作。(Bug #17016214, Bug #69576)

  • InnoDB:Valgrind将在运行回滚调试测试时报告未初始化的值。Valgrind警告应该只出现在使用Valgrind工具的构建中。(错误# 16969876)

  • InnoDB:在崩溃恢复期间,不正确的事务活动时间将导致回滚未提交的事务。(Bug #16936961, Bug #69438)

  • InnoDB:堆块调试信息(file_namelineno),用于记录诊断,将出现在版本版本中。此信息应该只出现在调试版本中。(Bug #16924719, Bug #69422)

  • InnoDB:一个在线ALTER TABLE操作将消耗比预期更多的内存。在网上ALTER TABLE操作后,将为创建或重新构建的每个索引创建一个包含头和尾缓冲区的在线日志缓冲区。尾缓冲区是写入器上下文,只有在索引上进行并发写操作时才需要ALTER TABLE操作正在进行中。头缓冲区是阅读器上下文,仅在日志应用阶段需要。为了减少内存消耗,现在在索引上运行第一个DML语句时分配尾缓冲区,而头缓冲区只在日志应用阶段分配,然后释放。(Bug #16868967, Bug #69325, Bug #17911720)

  • InnoDB:重命名列,同时在其中添加或删除列ALTER TABLE操作将导致错误。(错误# 16864981)

  • InnoDB:类型名(srv_shutdown_state)与变量名相同。的srv_shutdown_state类型名称已更改为srv_shutdown_t.(错误# 16735398)

  • InnoDB:buf_buddy_relocate函数将执行不必要的哈希查找。(错误# 16596057)

  • InnoDB:在Windows上,全文搜索(FTS)对象ID不是预期的十六进制格式。(错误# 16559254)

    参考文献:参见Bug #16559119。

  • InnoDB:服务器关闭将导致挂起,并将以下消息写入错误日志:InnoDB:等待清除线程挂起(错误# 16495065)

  • InnoDB:InnoDB启动失败innodb_data_file_path通过追加以千字节为单位指定数据文件大小K到大小值。(错误# 16287752)

  • InnoDB:从缓冲池获取和释放页面以及跟踪页面状态都是昂贵而复杂的操作。在修复错误之前,这些操作是使用页面互斥锁执行的。使用页面互斥来跟踪多个内容是昂贵的,而且扩展性不好。错误修正将页面的获取和释放跟踪(使用状态)与页面I/O状态跟踪分离开来。现在在可用的地方使用原子跟踪获取和释放。

    对于可移植性,一个新的CMake构建选项,INNODB_PAGE_ATOMIC_REF_COUNT(默认),可用于在原子支持不可用的平台上禁用原子页面引用计数。当启用原子页引用计数(默认)时,[注]InnoDB:使用原子来引用缓冲池页面计数在服务器启动时打印到错误日志。如果禁用原子页引用计数,[注]InnoDB:使用互斥锁来计数缓冲池页面打印出来。(Bug #16249481, Bug #68079)

  • InnoDB:由于外部存储的blob的所有权信息处理不当,插入缓冲区合并将导致断言错误。

    InnoDB:线程断言失败thread_num在ibuf0ibuf文件中。错误的断言:rec_get_deleted_flag(rec, page_is_comp(page))

    (错误# 14668683)

  • InnoDB:减少了auto_increment_increment值将不会影响下一个自动递增的值。(Bug #14049391, Bug #65225)

  • InnoDB:的表重命名错误将出现最新外键错误部份显示引擎innodb状态输出。(Bug #12762390, Bug #61746)

  • InnoDB:b树的页面锁存算法将锁定兄弟叶页,延长字典锁。bug修复实现了兄弟叶页的预取,以减少索引锁保持时间。(Bug #12734249, Bug #61736)

  • InnoDB:BUF_READ_AHEAD_AREA会经常打电话ut_2_power_up适用于具有高I/O率的工作负载。现在只执行一次计算,结果存储在buf_pool_t结构。(Bug #11762242, Bug #54814)

  • InnoDB:UNIV_SYNC_DEBUG,在univ.i修复了Bug#16720368,现在已经启用。(Bug #69617, Bug #17033591)

  • 分区:使用index_merge优化(见索引合并优化)在对由分区的表运行时可能返回无效结果哈希.(Bug #17588348, Bug #70588)

    参考文献:参见Bug #16862316, Bug #17648468, Bug #18167648。

  • 分区:当自上一个分区之后没有分区返回任何行时HA_ERR_KEY_NOT_FOUND错误,则在用于按顺序返回行的优先级队列中使用未初始化的内存可能导致服务器崩溃。(错误# 17401628)

  • 复制:运行服务器时——gtid-mode =停止奴隶紧随其后的是开始的奴隶导致提供的信息不匹配INFORMATION_SCHEMA。INNODB_TEMP_TABLE_INFOSlave_open_temp_tables状态变量:INNODB_TEMP_TABLE_INFO表显示没有临时表存在,但是Slave_open_temp_tables有一个非零值。(错误# 18236612)

  • 复制:试图同时使用SSH连接的半同步复制导致服务器失败。(错误# 18219471)

  • 复制:MASTER_HEARTBEAT_PERIOD不包括在将master更改为,语句resetSlave_heartbeat_period到其默认值和Slave_received_heartbeats为0。此时心跳周期不会被改变将master更改为除非显式地使用MASTER_HEARTBEAT_PERIOD.此外,语句不再重置Slave_received_heartbeats.(错误# 18185490)

  • 复制:设置后MASTER_SSL_CRLPATH使用一个将master更改为语句中未正确显示选项值SSL_CRL_PATH的列replication_connection_configuration性能模式表。(错误# 18174719)

  • 复制:MASTER_SSL_CRL而且MASTER_SSL_CRLPATH选项在使用yaSSL时不可用;MySQL复制现在将这些设置为无论何时启用yaSSL都会自动启动。(错误# 18165937)

  • 复制:mysqlbinlog方法时未释放其事件缓冲区使用的内存——rewrite-db选择。(错误# 18164998)

  • 复制:设置slave_parallel_workers到1或更大的值,启动从线程会导致从SQL线程使用,但直到重新启动从线程才会释放内存停止奴隶而且开始的奴隶.(Bug #18001777, Bug #71197)

  • 复制:当一个从配置了复制过滤器和——log-warnings = 2,每一条被过滤的语句都会导致在错误日志中写入一个条目。对于生成许多待过滤语句的繁忙服务器,其结果是错误日志可能迅速增长到许多gb大小。现在使用油门来处理这种错误,因此在给定的时间间隔内只打印一次错误消息,表示这个特定的错误在该时间间隔内发生了特定次数。(错误# 17986385)

  • 复制:当二进制日志I/O缓存刚好增长到32768字节,并且当前事务之前有一个大于32768字节的事务时,事件在写入二进制日志时可能会被损坏。(错误# 17842137)

  • 复制:当主人和奴隶都有gtid_mode =对设置,并且在中继日志中仍然有GTID事务时停止从SQL线程,如果然后用gtid_mode =了,然后从SQL线程执行它遇到的任何匿名事务,而不将其GTID写入二进制日志,其结果是GTID丢失。当奴隶后来被提升为主人时,这可能会导致问题,因为交易将在被提升的主人的奴隶上再次播放,很快导致这些奴隶上的不一致。(错误# 17827018)

    参考文献:参见Bug #17813449。

  • 复制:当主人和奴隶都有gtid_mode =了设置,并且在中继日志中仍然存在匿名事务时停止从SQL线程,如果然后用gtid_mode =对,然后从分配gtid这样的事务。当奴隶后来被提升为主人时,这可能会导致问题,因为交易将在被提升的主人的奴隶上再次播放,很快导致这些奴隶上的不一致。(错误# 17813449)

    参考文献:参见:Bug #17827018。

  • 复制:创建和删除大量临时表可能会增加内存消耗。(错误# 17806014)

  • 复制:显示奴隶状态报告时使用了不正确的值MASTER_SSL_CRL而且MASTER_SSL_CRLPATH.(Bug #17772911, Bug #70866)

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

  • 复制:log_warnings大于1时,主机打印二进制日志转储线程信息(包括从机ID、二进制日志文件名和二进制日志位置)inmysqld.1.err.在这种情况下,大于20亿的从服务器ID打印为负值。(Bug #17641586, Bug #70685)

  • 复制:mysqlbinlog——详细在二进制日志中遇到损坏行事件时失败。这样的行事件还可能导致从服务器失败。(错误# 17632978)

    参考文献:参见Bug #16960133。

  • 复制:二进制日志事件可以在被刷新到主服务器上的磁盘之前发送到从服务器,甚至当sync_binlog设置为1。当操作系统崩溃后重新启动主服务器时,这可能导致以下两个问题中的任何一个:

    • 复制无法继续,因为一个或多个从服务器正在请求主服务器上不存在的复制事件。

    • 数据存在于一个或多个从服务器上,而不在主服务器上。

    在较不持久的设置上预计会出现此类问题(sync_binlog不等于1),但不应该发生的时候sync_binlog是1。若要解决此问题,请使用锁(LOCK_log)现在在同步过程中保存,只有在二进制事件实际写入磁盘后才释放。(Bug #17632285, Bug #70669)

  • 复制:当运行奴隶与slave_parallel_workers在1或更大时,设置——slave-skip-errors =导致错误日志被警告的实例填充从SQL:无法执行查询事件。详细错误:;,Error_code: 0.(Bug #17581990, Bug #68429)

    参考文献:参见:Bug #17986385。

  • 复制:当在独立服务器上配置半同步复制时,没有从服务器和rpl_semi_sync_master_wait_no_slave被设定为,主人还在等着从奴隶那里。当rpl_semi_sync_master_wait_no_slave设置为,当从端数量在指定的超时时间内为零时,主端应恢复正常复制。现在,在这种情况下,服务器检查半同步复制是否已打开,如果是,则继续检查是否有任何从端已连接。如果没有连接,半同步复制将被禁用,直到用户设置的值rpl_semi_sync_master_wait_no_slave.(Bug #17510411, Bug #70360)

  • 复制:控件的值可能的状态消息的数目PROCESSLIST_STATE的列线程Performance Schema表的长度大于列的宽度(64个字符)。

    冗长的状态消息现在已被重写,并相应缩短。此修复适用于MySQL 5.7及更高版本。(错误# 17319380)

  • 复制:Seconds_Behind_Master的输出显示奴隶状态在某些情况下,当它应该有一个大于0的值时,可能被报告为0。(错误# 17233214)

    参考文献:参见Bug #16579028。

  • 复制:在使用基于行的复制时,服务器没有正确处理大于4gb的行插入。(错误# 17081415)

  • 复制:当使用基于行的复制时,表从版本上的附加自动递增列没有正确更新;取而代之的是一个零。(Bug #17066269, Bug #69680)

  • 复制:涉及Performance Schema表的语句不应该写到二进制日志中,因为这些表的内容只适用于给定的MySQL Server实例,并且在复制拓扑中的不同服务器之间可能存在很大差异。数据库管理员应能够配置(插入更新,或删除)或冲洗(截断表)的性能模式表,而不会影响其他服务器。然而,当从MySQL 5.5主服务器复制到MySQL 5.5或更高版本的从服务器时,关于不安全语句更新Performance Schema表的警告被提升为错误。对于MySQL 5.6和以后的从库,这阻止了同时使用performance_schema和gtid(参见使用全局事务标识符进行复制).

    中的表上的所有更新都会导致此修复performance_schema要在主服务器上筛选且不复制的数据库,而不管有效的日志记录类型是什么。在此修复之前,使用的语句被标记为不安全的复制,这在执行期间会引起警告;尽管如此,语句还是被写入二进制日志,而不管实际的日志格式是什么。

    中表的现有复制行为INFORMATION_SCHEMA此修复程序不会更改数据库。

    有关更多信息,请参见MySQL性能架构.(错误# 16814264)

    参考文献:参见Bug #14741537, Bug #18259193。

  • 复制:二进制日志中的无效事件偏移量并不总是得到正确处理,这可能导致复制失败。(Bug #16736412, Bug #69087)

  • 复制:半同步复制插件被DDL语句调用了两次,每次递增Rpl_semi_sync_master_yes_tx每次执行这样的语句时,都用2代替1。(Bug #70410, Bug #17509011)

  • 复制:如果有许多转储线程(例如从mysqlbinlog或从I/O连接)同时工作。我们还发现,即使在转储连接不支持半同步复制的情况下,也会调用半同步的主插件函数,这将导致插件锁的锁定以及在必要的代码上浪费时间。

    在此修复之后,非半同步转储线程不再调用半同步主函数来观察二进制事件。(Bug #70218, Bug #17434690)

  • 微软的Windows操作系统:的rw-lock备份实现my_atomic_ *函数总是被使用。现在,在可用的地方使用本机Microsoft Windows实现。(错误# 18054042)

  • 微软的Windows操作系统:在Windows上,——本地服务选项没有工作,并且没有显示在——帮助消息。(Bug #69637, Bug #17049656)

  • Solaris:Solaris的MySQL发行版现在包含一个源tarball海湾合作委员会分享目录,以符合包含c++运行时库所产生的GPL条件。(错误# 18306484)

  • 编译期间,尝试创建sql_yacc.h可以同时从多个目录中生成。(错误# 18319335)

  • mysql_secure_installation错误地试图释放内存,并在读取选项文件尝试失败后异常退出。(错误# 18255657)

  • 在打印服务器版本时,mysql客户端没有在字符串变量中检查缓冲区溢出。(错误# 18186103)

  • mysql_secure_installation退出,如果mysql_install_db已经运行了——skip-random-passwords选择。(错误# 18181665)

  • 如果配置了MySQL,编译失败CFLAGS设置为包含-Werror带有参数的选项。(错误# 18173037)

  • 当优化器试图使用MRR或DS-MRR读取内部创建的临时表时,服务器可能退出或提出断言。(错误# 18172819)

  • 的默认编译器标志cmake / build_configurations / compiler_options.cmake.可以通过CMake-DWITH_DEFAULT_COMPILER_OPTIONS = 0选择。但是,对于C或c++编译器也可以关闭它CFLAGSCXXFLAGS设置环境变量。

    这些环境变量现在没有这样的影响。要指定编译器标志,请使用-DWITH_DEFAULT_COMPILER_OPTIONS = 0选项,或-DCMAKE_C_FLAGS =旗帜而且-DCMAKE_C_FLAGS =旗帜可以使用选项。(错误# 18158812)

  • 处理索引合并的范围优化器代码中的错误可能导致服务器退出或结果集中缺少行。(错误# 18136628)

  • 一个共享的libmysqld嵌入式服务器库不是在Linux上构建的。一个新的WITH_EMBEDDED_SHARED_LIBRARYCMake选项现在使这成为可能。(Bug #18123048, Bug #16430656, Bug #68559)

  • 铸造过程中的类型就像模式匹配操作可能导致服务器退出。(错误# 18114294)

  • mysql_config类调用时不正确地生成非空输出——libmysqld-libs(或同义词),如果MySQL配置了WITHOUT_SERVER选择。(错误# 18102839)

  • 在同一源树中的重复重建导致libmysqld.a每次都在变大。(错误# 18082702)

  • 秀奖助金可用于查看代理用户的密码散列。密码哈希显示现在需要超级特权。(错误# 18057514)

  • 使用Visual Studio 2008在Windows上从源代码构建MySQL失败未找到标识符这是由Bug#16249481的补丁引入的回归导致的。(错误# 18057449)

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

  • 当从表缓存重新打开表,且当前线程没有为Performance Schema检测时,服务器退出,试图填充OWNER_THREAD_IDtable_handles表格(错误# 18047865)

  • 在Solaris SPARC和Linux 64位平台上修复了链接故障。(错误# 18004599)

  • 在服务器启动期间,在性能模式中发生了内存泄漏。(错误# 18003651)

  • 建筑libevent错误地依赖于MySQL配置了-DWITH_INNODB_MEMCACHED = 1选择。(错误# 17964544)

  • 在关闭期间,仍然锁定的互斥锁可能被移除,导致服务器退出。(错误# 17959898)

  • 编译对Clang和GCC使用不同的警告标志,根据使用的编译器产生不同的警告输出。现在两个编译器的警告输出是一致的。(错误# 17959689)

  • 在Solaris上,如果不是,则配置失败STL_LIBRARY_NAME被发现。(错误# 17954277)

  • 存储/ ndb / CMakeLists.txt重置CMake缓存一些编译器标志,结果应该被保存。(错误# 17949504)

  • SUM_SORT_MERGE_PASSES中的列值events_statements_summary_by_digest性能架构表计算错误。(错误# 17938255)

  • 如果events_statements_summary_by_digest当发现具有新摘要的语句时,性能模式表已满Performance_schema_digest_lost状态变量没有增加。(错误# 17935314)

  • 当多个连接发生许多操作时,审计日志插件可能在日志文件旋转操作期间导致服务器退出。(错误# 17930339)

  • 十进制非空物品可以返回子查询。(错误# 17921777)

  • 力索引[为顺序](index_name没有工作的联接。

    此bug的修复还更改了为解释.而不仅仅是打印{忽略|使用武力|}指数现在也可以打印了For {group by | order by | join}如果在查询中指定了。(错误# 17889511)

  • mysql_secure_installation如果使用SSL连接,并且用户的密码过期,则退出。(错误# 17880395)

  • 在服务器关闭期间,打开的连接线程可能无法完全关闭。(错误# 17863690)

  • 对于调试构建,插入到多表视图可能会引发断言。(错误# 17834434)

  • 当索引中没有出现关键部分时,优化器可以下推条件。(错误# 17814492)

  • 启用了压缩客户机/服务器协议后,Performance Schema语句插装可能会引发断言。(错误# 17794846)

  • resetconnection命令mysql如果服务器关闭或用户密码过期,则没有报告正确的错误。(错误# 17772561)

  • 排序规则中的缩写信息可能被错误处理,导致关于字符是否是缩写的一部分的错误判断,以及缩写权重的错误计算。(错误# 17760379)

  • 可以提出断言,如果filesort当记录属性更改时,无法调整其主缓冲区的大小。(错误# 17757914)

  • 在行比较器设置过程中产生了Valgrind误差。(错误# 17755540)

  • Bug #16041903的补丁引入了一个错误DBUG_ASSERT这在调试版本中引发了一个虚假的断言。(错误# 17746721)

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

  • 构建和执行问题被修复海湾合作委员会4.8.1在32位模式SPARC。(错误# 17740390)

  • 如果MySQL使用-DWITH_LIBWRAP = 1.(错误# 17738805)

  • 对于调试版本,filesort算法可能会提出虚假的断言。(错误# 17734642)

  • mysql_get_option符号丢失了libmysql.dll.(错误# 17733103)

  • 在某些情况下,UNIX_TIMESTAMP ()可以返回当它应该返回0时。(错误# 17728371)

  • 服务器可能在执行插入……选择联盟汇总,重复密钥更新使用子查询。(错误# 17727506)

    参考资料:这个问题是:Bug #16967281的回归。

  • 只有在成功检索所有行之后,才释放用于索引合并访问方法的缓存。操作中断或失败导致文件描述符泄漏。(错误# 17708621)

  • 优化器不正确地计算了连接缓冲区扫描的成本,计算了由附加条件过滤掉的行,而不是一次,而是每个连接缓冲区一次。(错误# 17694707)

  • 使用, mysqldump——set-gtid-purged没有值的选项, mysqldump崩溃。(错误# 17650245)

  • 如果SAFE_MUTEX已启用(仅对调试版本为真),THR_LOCK_mutex在初始化之前使用。(Bug #17641055, Bug #70639)

  • 性能架构语句事件线程之间的竞争条件导致服务器退出。(错误# 17637970)

  • 范围优化器模块中不正确的引用计数可能导致查询结果集中的行丢失或重复。(错误# 17619119)

  • 对于调试构建,子查询连接条件中的聚合函数可能引发断言。(错误# 17602807)

  • 修复Bug #16409270后,就不可能了# include < mysql.h ># include < windows.h >.(错误# 17514554)

    参考文献:参见Bug #16409270。

  • 访问连接缓冲区时的寻址错误可能会产生无效的结果或服务器退出。(错误# 17513341)

  • 解析器允许使用多个查询命令子句,该子句在执行过程中失败并导致服务器退出。(错误# 17473479)

  • 对于调试构建,服务器可以退出插入到的语句声明为非空类检索的子查询列和包含组为null.(错误# 17458917)

  • 在一个情况下表达式的子查询引用值()函数可能导致服务器退出。(错误# 17458914)

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

  • 设置密码结合子查询结果中的变量赋值可以引发断言。(错误# 17458750)

  • 拆卸后清理不充分SELECT_LEX结构导致了NULL指针的解引用和服务器退出。(错误# 17458169)

  • 解析器静默地接受副本命令条款和/或限制条款前命令子查询中的子句。这将导致查询执行期间出现故障。修复这个问题会导致解析器行为发生一些变化。解析器不再接受:

    • 一个限制条款前命令条款

    • 一个限制在无括号的从句中选择语句之前的联盟关键字

    • 一个后面的从句过程分析()条款

    (Bug #17426017, Bug #17703542, Bug #17727401)

  • 在Windows上,mysql_secure_installation退出,如果密码已过期。(错误# 17415203)

  • mysql_config错误地包含了一些生成编译器警告输出的标志。(错误# 17400967)

  • 在启用半连接优化的情况下,带有嵌套子查询的查询可能会由于对中间查询块中的列的引用解析不正确而导致服务器退出。(错误# 17398972)

  • 如果由于内存不足错误而接受连接尝试失败,服务器可能访问先前断开连接的过时线程结构,从而导致Valgrind错误。(错误# 17398792)

  • SHA256密码认证算法分配的缓冲区短了一个字节。处理步骤(错误# 17397073)

  • 情况下涉及浮点数的表达式max_length而且小数数值可能计算错误。的逻辑情况下被修正为与for相同合并(),执行类似的操作。(错误# 17388045)

  • 发生客户端崩溃,如果mysql_set_server_option ()或其他几个C API函数之前被调用过mysql_real_connect ().(错误# 17338958)

  • 在某些情况下,优化器编写固定长度的临时文件MyISAM表到磁盘,而不是可变长度的临时表。(错误# 17231940)

  • 使validate_password插件可能导致错误的密码哈希存储在mysql.user表格(错误# 17065383)

  • 对于调试构建,使用半连接处理的准备语句的第二次执行可能导致服务器退出。(错误# 16988465)

  • 对于使用半连接LooseScan优化处理的查询,会引发一个虚假断言,该查询要求按顺序返回行。(错误# 16977389)

  • 循环依赖问题涉及sql / sql_builtin.cc是解决。(错误# 16877045)

  • 认证的帐户sha256_password插件,在密码过期后设置密码没有清除密码过期标志。(错误# 16872181)

  • 在服务器关闭期间,在调用之前释放文件信息query_logger.cleanup (),导致内存泄漏。(错误# 16859266)

  • 为准备插入…选择语句、不存在的列名不会在语句准备期间报告,而只在稍后的语句执行时报告。(错误# 16820562)

  • 在某些条件下,多表更新更新失败。(错误# 16767011)

  • 使用未初始化内存的临时表的崩溃恢复。(错误# 16754540)

  • 在OS X 10.7上,一个竞态条件涉及vio_shutdown ()和基于选择的实现vio_io_wait ()可能导致服务器退出。(Bug #16354789, Bug #17733393)

  • 在源代码中使用的示例url中的主机名被example.com域中的名称所替换,这个域是IANA为此目的打算使用的。(错误# 15890092)

  • use utf8而且utf8mb4字符串,处理函数不必要地称为Unicode转换函数。(错误# 14057034)

  • 类指定的客户端插件的预加载LIBMYSQL_PLUGINS除非插件位于硬连接的默认插件目录中,否则环境变量可能会失败。C API现在在插件预加载时检查LIBMYSQL_PLUGIN_DIR环境变量,可以设置为查找客户端插件的目录的路径名。(Bug #13994567, Bug #18110355)

  • 某些(…零……)在(…)表达式返回当它们应该返回0时,例如Select (null, 1) in ((0,0), (0,0)).(错误# 13944462)

  • 几个- w如果配置了MySQL,则在维护模式下编译时关闭警告标志-DWITH_INNODB_MEMCACHED = 1.(错误# 13898319)

  • 优化器在某些情况下为动态范围访问设置,在这些情况下不能使用范围访问,从而导致回退到表扫描。(错误# 13814468)

  • 执行mysqladmin关闭如果服务器运行时启用了线程池插件,并且服务于大量并发连接,会导致服务器异常退出。(错误# 13788920)

  • 调用ExtractValue ()函数带有无效XPath表达式,在某些情况下可能会导致服务器故障。(Bug #12428404, Bug #61065)

  • 使用非多字节算法跳过多字节字符串中的前导空格可能导致服务器退出。(Bug #12368495, Bug #18315770)

  • ONLY_FULL_GROUP_BY启用SQL模式,查询使用集团中的子查询派生的列上子句失败时列不在GROUP BY中错误,如果查询在视图中。(错误# 11923239)

  • mysqlbinlog相关的内存泄漏——rewrite-db处理。(Bug #71283, Bug #18027692)

  • 此前,为解释输出时,性能模式表的行检查估计值总是显示为1000。现在,根据为每个表分配内存时使用的大小调整参数,显示更准确的估计。这不会导致行为的改变,因为Performance Schema表没有索引。(Bug #71278, Bug #18024455)

  • 范围优化器的优化器跟踪输出可以包括原始二进制数据并生成不可打印的字符。现在二进制数据以十六进制格式打印。(Bug #71273, Bug #18023222)

  • 在配置中,CMakec++头文件检查不当cxxabi.h.(Bug #71268, Bug #18147458)

  • 控件中子查询的结果聚合子句可能产生不正确的结果。(Bug #71244, Bug #18014565)

  • 以前,在一条语句中执行的第一个阶段是阶段/ sql / init.它和另一个舞台相撞了初始化并且与开始阶段显示配置文件.在语句中执行的第一个阶段现在被命名阶段/ sql /开始.相应地,在显示PROCESSLIST输出,以前显示的一些行状态的价值初始化现在显示开始.(Bug #71201, Bug #17993294)

  • CMake产生了一个警告ssl.cmake由于语法错误。(Bug #71094, Bug #17905144)

  • CMake产生了无用的警告INTERFACE_LINK_LIBRARIES政策。(Bug #71089, Bug #17905155, Bug #17894997)

  • , mysqldump——单独的事务为每个转储表获取元数据锁,但直到转储操作结束才释放它们。因此,即使在转储表本身之后,转储表上的其他DDL操作也会阻塞。, mysqldump现在尝试提前释放元数据锁。(Bug #71017, Bug #17862905)

  • sql_resolver.cc类应当保护的分区代码# ifdef,即使配置了MySQL-DWITH_PARTITION_STORAGE_ENGINE =了.(Bug #71010, Bug #17876794)

  • 等待/同步/互斥锁/ sql / MYSQL_RELAY_LOG:: LOCK_sync互斥锁没有被正确地用于性能模式。(Bug #70939, Bug #17813333)

  • -DWITH_EXAMPLE_STORAGE_ENGINE = 1CMake选项被忽略了,但不应该被忽略。如果-DWITH_EXAMPLE_STORAGE_ENGINE = 0给定,则例子存储引擎是作为插件构建的。(Bug #70859, Bug #17772560, Bug #30133062)

    参考文献:参见Bug #18324650。

  • 冲洗状态清除一个变量,该变量可能导致XA事务的后续隐式提交,从而导致服务器退出。(Bug #70854, Bug #17911445)

  • 在关键路段的开销减少了my_fopen ()而且my_register_filename ()mysys功能。感谢Po-Chun Chang的补丁。(错误# 70848)

  • Coverity静态分析工具识别的几个问题得到了修复。感谢Honza Horak的补丁。(Bug #70830, Bug #17760511)

  • 创建临时表以查找不同值并在投影列表中具有常量值的查询可能会产生不正确的结果。(Bug #70657, Bug #17634335)

  • 配置与-DWITH_DEBUG = 1没有与配置相同的效果-DCMAKE_BUILD_TYPE =调试.(Bug #70647, Bug #17632854)

  • 性能模式工具API的原型mysql_cond_timedwait ()调用已被固定为插入兼容pthread_cond_timedwait ().此修复只影响第三方插件的实现者。(Bug #70628, Bug #17702677)

  • 一些之间的无符号值的表达式用有符号算术求值。感谢林晓斌的补丁。(Bug #70622, Bug #17606942)

  • 的查询可能返回不正确的结果如果()谓词中的在哪里条款与外连接在转换为半连接的子查询中。(一种解决方法是使用禁用半连接设置optimizer_switch = ' semijoin = off”;(Bug #70608, Bug #17600176)

  • 服务器写入的数量过多这种流产发送到错误日志的消息。(Bug #70173, Bug #17372396)

  • 当经过Mysqld——帮助——啰嗦在显示帮助消息后退出并显示非零错误代码。(Bug #70058, Bug #17324415)

  • 涉及连接或子查询的Performance Schema表的复杂更新未能更新每一行。(Bug #70025, Bug #17309657)

  • 对于调试构建,json格式解释涉及半连接实体化的查询语句可能导致服务器退出。(Bug #70014, Bug #17305943)

  • 子查询执行期间发生的死锁错误可能导致引发断言。(Bug #69969, Bug #17307201)

  • 对于现有用户,格兰特如果密码为空(由[密码]识别")没有更改密码。(Bug #69899, Bug #17256161)

  • 在配置期间,谷歌模拟库的下载可能会失败。这是通过要求来解决的CMake2.8.2或更高。(Bug #69854, Bug #17231722)

  • 目录中的一些文件file_instances没有删除性能模式表,因为没有检测文件删除操作。(Bug #69782, Bug #17209750)

  • 方法指定的路径——basedir选项,mysql_plugin试图断开该路径的链接,而不是释放存储该路径的内存。(Bug #69752, Bug #17168602)

  • 没有分隔符且超过14位的时态字面值字符串被验证为时间/日期时间值,其精度为两位数的小数秒部分。但是小数秒应该始终用小数点与时间的其他部分隔开。(Bug #69714, Bug #17080703)

  • 对于接受字符串值的系统变量,语句允许不加引号的值,但是包含点的值解析错误,只分配了部分值。例如,设置全局slow_query_log_file = my_slow.log赋值my_slow.现在这些值必须加引号,否则会出现错误。(Bug #69703, Bug #17075846)

  • 控件无法查询视图命令类中引用别名的子句选择子句,除非视图中的所有列都在选择列表中命名。

    为了处理这个问题,服务器现在将一个视图以不同的方式写入.frm存储视图定义的文件。如果遇到刚才描述的视图计算错误,请删除并重新创建视图,以便.frm文件包含更新后的视图表示。(Bug #69678, Bug #17077305)

  • mysqladminmysqlbinlogmysqlcheck, mysqldumpmysqlimportmysqlslap,mysqlshow程序现在支持——secure-auth选项,防止以旧(4.1以前的)格式向服务器发送密码。默认情况下该选项是启用的;使用——skip-secure-auth禁用它。(Bug #69051, Bug #16723046)

  • utf8_bin排序,按下(col_name可能产生错误的顺序。(Bug #69005, Bug #16691598)

  • 来自社区版发行版的MySQL客户端程序不能使用SSL连接到来自企业版的MySQL服务器。这是由于yaSSL和OpenSSL(分别用于社区和企业)在证书处理方面的差异。OpenSSL期望发送一个空白证书,而不是所有的——ssl-ca——ssl-cert,——ssl密钥选项被指定,而yaSSL没有这样做。为了解决这个问题,yaSSL被修改为在缺少选项时发送一个空白证书。(Bug #68788, Bug #16715064)

  • 结合派生表(中的子查询)的全文搜索子句)导致服务器退出。

    现在,如果全文操作依赖于派生表,服务器就会产生一个错误,指出不能在物化表上进行全文搜索。(Bug #68751, Bug #16539903)

  • COUNT(DISTINCT)有时会在最后一个读行包含价值。(Bug #68749, Bug #16539979, Bug #71028, Bug #17867117)

  • 一些脚本显示了关于在哪里报告错误的过时信息。(Bug #68742, Bug #16530527)

  • 更新一个联邦更新……加入中包含单行且该行可以连接到中的某行时,导致服务器退出联邦表格(Bug #68354, Bug #16324629)

  • 服务器为LDML排序规则定义问题而写入错误日志的消息缺少排序规则名称。(Bug #68144, Bug #16204175)

  • mysqlcheck没有正确处理包含点的表名。(Bug #68015, Bug #16064833)

  • 所报告的错误修复了编译问题铿锵声而且海湾合作委员会当在c++ 11模式下编译时。(Bug #66803, Bug #14631159)

  • cmake / configure.pl列举的实例WITH_COMMENT而不是正确的选择COMPILATION_COMMENT.(Bug #65834, Bug #14298560)

  • make_atomic_cas_body64在IA32上实现海湾合作委员会但是没有海湾合作委员会由于不正确的约束,内建程序可能被错误编译。该补丁还会导致MySQL在编译时使用内置原子铿锵声.(Bug #63451, Bug #17242996)

  • 在OS X上libmysqlclientDylib文件链接到自己。(Bug #61699, Bug #13890998, Bug #61243, Bug #12590037)

  • 优化器可以进行选择裁判访问结束eq_ref访问时,非惟一访问的成本在惟一索引的成本之前进行评估。(Bug #54808, Bug #11762236)

  • 在Windows上,mysql_install_db.pl只能在箱子目录下的。(Bug #42421, Bug #11751526)

  • gcov打印了没有文件名的警告。(Bug #33269, Bug #11747622)

  • mysql_install_db指的是过时的mysqlbug报告问题的脚本。现在指的是http://bugs.10bet靠谱mysql.com/代替。(Bug #29716, Bug #11746921)