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.9(2015-10-21,通用可用性)

MySQL 5.7.9(2015-10-21,通用可用性)

  • 审计日志说明

    • 有些事件无法终止。以前,如果审计插件为一个不可终止的事件返回非零状态,服务器将忽略该状态并继续处理该事件。然而,如果审计插件使用my_message ()函数终止不可终止事件,发生了服务器退出。现在,服务器正确地处理不可终止事件的终止my_message ().(错误# 21458066)

C语言API说明

编译的笔记

  • 微软的Windows操作系统:增加了对使用Microsoft Visual Studio 2015进行构建的支持。更改包括使用本机(在VS 2015中添加的)timespec库(如果存在的话),重命名lfind/lsearch和timezone/tzname以避免重定义问题TMPDIR""默认为P_tmpdir不再存在,已弃用std:: hash_map赞成std:: unordered_map,并添加了Wix Toolset 3.10支持。(错误# 21657078)

  • 用于服务器构建的Boost库的最低版本现在是1.59.0。(Bug #77960, Bug #21567456)

  • MySQL发行版现在包含一个mysqlclient.pc文件,该文件提供MySQL配置的信息,供pkg-config命令。这使pkg-config被用作…的替代品mysql_config获取编译MySQL应用程序所需的编译器标志或链接库等信息。有关更多信息,请参见使用pkg-config构建C API客户端程序

    一个新的INSTALL_PKGCONFIGDIRCMake选项可用来指定要安装的目录mysqlclient.pc文件。默认值为INSTALL_LIBDIR / pkgconfig,除非INSTALL_LIBDIR结尾/ mysql在这种情况下,它会先被移除。(Bug #76131, Bug #20637746)

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

包装的笔记

  • 的shell和Perl版本mysql_install_db已经从MySQL发行版中删除。的可执行c++版本mysql_install_db在MySQL 5.7.5中实现的功能仍然存在,但仍然是弃用的(使用mysqld——初始化),并将在未来的MySQL版本中删除。(错误# 21625471)

  • 弃用的_r版本的libmysqlclient不再安装库。(错误# 21311067)

性能架构说明

  • 的影响有两个变化show_compatibility_56

    • 以前,当show_compatibility_56 =了,从以下选项中选择INFORMATION_SCHEMA系统和状态变量表返回一个空结果和一个弃用警告:

      INFORMATION_SCHEMA。GLOBAL_VARIABLES INFORMATION_SCHEMA。SESSION_VARIABLES INFORMATION_SCHEMA。GLOBAL_STATUS INFORMATION_SCHEMA。SESSION_STATUS

      这导致应用程序不知道这样的选择可能是空的:空结果和警告不足以通知需要迁移到相应的Performance Schema系统和状态变量表。

      要解决此问题,请从INFORMATION_SCHEMA系统和状态表现在会产生一个错误,以便更明显地表明应用程序是在需要修改的条件下运行的,以及问题在哪里。错误码为ER_FEATURE_DISABLED_SEE_DOC.错误消息指示禁用了哪个表以及show_compatibility_5610bet官方网站应该查阅文档。

    • 以前,当show_compatibility_56 =对,从以下性能模式状态变量表中选择返回空结果:

      performance_schema。global_statusperformance_schema。session_status

      这使得从INFORMATION_SCHEMA从Performance Schema表中成功选择需要知道服务器来自MySQL 5.7和show_compatibility_56 =了

      要解决这个问题,现在从性能模式状态变量表中进行选择,无论值如何都会产生相同的结果show_compatibility_56.因此,只需要知道服务器来自MySQL 5.7.9或更高版本。(如果是,请从Performance Schema表中进行选择。否则,从INFORMATION_SCHEMA表。)

    了解更多关于show_compatibility_56还有移民问题,见服务器系统变量,迁移到性能模式系统和状态变量表.(错误# 21606701)

  • 这些性能模式表现在是世界可读和可访问的选择特权:global_variablessession_variablesglobal_status,session_status.这种变化的一个含义是显示变量而且显示状态不再需要在产生输出的底层性能模式表上的特权show_compatibility_56 =了.(错误# 21251297)

  • show_compatibility_56系统变量启用后,报告的值Last_query_cost而且Last_query_partial_plans状态变量不正确。

    show_compatibility_56系统变量禁用后,所报告的值Created_tmp_tablesHandler_external_lock,Table_open_cache_ %状态变量不正确。(Bug #20483278, Bug #21788549, Bug #21788887)

  • 在此之前,事务文书载于setup_instruments表默认禁用,并且events_transactions_current而且events_transactions_history的消费者setup_consumers表默认启用。这种设置是不一致的,启用使用者可能会导致一种印象,即事务在默认情况下是工具化的。现在,默认情况下消费者也是禁用的。要监视事务,请启用工具和适用的使用者。(Bug #78311, Bug #21780891)

  • show_compatibility_56禁用系统变量,显示变量而且显示状态如果MySQL在没有性能模式支持的情况下编译,语句会失败。因此,不使用性能模式就无法进行编译。如果希望在编译时不使用特定类型的插装,可以使用以下方法CMake选项:

    Disable_psi_cond disable_psi_file disable_psi_idle disable_psi_memory disable_psi_metadata disable_psi_mutex disable_psi_ps disable_psi_rwlock disable_psi_socket disable_psi_sp disable_psi_stage disable_psi_statement disable_psi_statement_digest disable_psi_table disable_psi_thread disable_psi_transaction

    例如,要在不使用互斥锁工具的情况下进行编译,可以使用-DDISABLE_PSI_MUTEX = 1选择。(Bug #78159, Bug #21669500)

  • session_account_connect_attrs表已错误地更改为要求选择特权。它不需要任何特权。(Bug #77702, Bug #21436364)

    这个问题是:Bug #14569746的回归。

  • setup_timer表,周期ARM64平台的定时器现在可用。(Bug #77620, Bug #21374923)

  • 性能模式现在包括以下工具,用于监视二进制日志和中继日志缓存文件上的I/O:

    Wait /io/file/sql/binlog_cache Wait /io/file/sql/binlog_index_cache Wait /io/file/sql/relaylog_cache Wait /io/file/sql/relaylog_index_cache

    此外,默认值为performance_schema_max_file_classes从50增加到80。(Bug #76225, Bug #20675180)

  • 性能架构线程表现在包含一个THREAD_OS_ID列,指示由底层操作系统定义的线程或任务标识符。例如,列值对应于Windows上的Process Explorer线程ID和gettid ()值。有关更多信息,请参见线程表

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

插件的笔记

  • 审计插件API已经进行了广泛的修改,以支持对一般事件类型(MYSQL_AUDIT_GENERAL_CLASS)变成更具体的事件。这使得审计插件能够更精确地指出它们感兴趣的事件类型,并减少了仅使用少数事件类型的插件的开销。API现在还允许提前终止事件执行。有关更多信息,请参见编写审计插件.通用事件类型仍然可用,但已弃用,将在未来的MySQL版本中删除。

    此外,security_context插件服务现已可用。审计插件可以使用该服务检查或修改与审计事件相关的线程的安全上下文。看到MySQL插件服务

安全记录

  • 对于基于rpm的包,用于创建数据目录(/var/lib/mysql)由755改为751。这收紧了数据目录权限,同时仍然允许对mysql.sock文件。(错误# 21066592)

  • yaSSL升级到2.3.8版本。

    从旧版本升级修复了与线程池插件一起使用时的连接失败问题。(Bug #20774956, Bug #21888925)

服务器管理

空间数据支持

  • 空间功能如ST_MPointFromText ()而且ST_GeomFromText ()的wkt格式表示多点值现在允许值中的单个点用圆括号括起来。例如,下面两个函数调用都是有效的,而之前的第二个函数调用产生了一个错误:

    ST_MPointFromText('MULTIPOINT (1,1,2,3,3)') ST_MPointFromText('MULTIPOINT ((1,1), (2,2), (3,3))')

    另外,函数如ST_AsText ()而且ST_AsWKT ()产生wkt格式的结果现在显示多点每个点周围都有圆括号的值。(Bug #54065, Bug #11761559)

sys Schema Notes

  • sysMySQL发行版中包含的schema已更新到1.5.0版本。这个版本包括了新的功能:

    • 一个新的诊断()存储过程使dba和其他支持人员能够收集诊断信息,以调查MySQL实例的性能。一个新的指标视图和statement_performance_analyzer ()存储过程为诊断()过程。

    • 以下sys模式视图现在为长时间运行的事务提供进度报告:

      Processlist session x$ Processlist x$session

      进步这些视图的列显示了支持进度报告的阶段的工作完成百分比。有关更多信息,请参见sys Schema进度报告

    • sysSchema对象现在有一个定义者“mysql.sys”@“localhost”.(在此之前,定义者“根”@“localhost”)。预留的使用mysql.sys帐户避免了DBA重命名或删除帐户。

    sysSchema 1.5.0还修复了以下几个问题:

    • sys模式ps_is_instrument_default_enabled ()而且ps_is_instrument_default_timed ()存储函数在某些情况下返回不正确的结果。

    • 启用而且历史中添加的列setup_actors早期MySQL 5.7版本中的Performance Schema表导致sys模式ps_setup_reset_to_default ()存储过程无法工作。

    • 事件计时信息的处理sys模式已更新,以处理MySQL 5.7.8中性能模式事件计时列的更改。

    • mysql_upgrade对象中的精确对象计数值sys模式来确定是否需要升级。如果添加了本地对象,则重新安装会删除这些对象。现在它检查至少预期的对象数量。

    如果您从较早的版本升级到这个MySQL版本,您必须运行mysql_upgrade将这些更改合并到sys模式。

    感谢Daniël van Eeden, Jesper Wisborg Krogh, Shlomi Noach和Morgan Tocker对本更新的贡献。(错误#78115,错误#21647101,错误#77927,错误#21550271,错误#78720,错误#21966366)

增加或更改的功能

  • 不兼容的更改;InnoDB:为了更好地管理重做日志格式的更改,第一个重做日志文件(ib_logfile0)现在包含一个格式版本标识符和一个文本字符串,用来标识创建重做日志文件的MySQL版本。

    新的布尔配置选项,innodb_log_checksums,替换innodb_log_checksum_algorithm选择。innodb_log_checksums =对使一个CRC-32C校验和,使得它成为重做日志页面唯一支持的校验和。

    这个补丁还会从重做日志头和检查点页面中删除未使用的字段。

    由于这个补丁引入的重做日志格式的变化,升级到MySQL 5.7.9或更高版本需要完全关闭,在某些情况下,需要删除现有的重做日志文件。有关此更改的相关说明,请参见MySQL 5.7的变化,降级的笔记.(Bug #21759424, Bug #78275, Bug #21752674)

  • 重要的变化;InnoDB:动态替换紧凑的的隐式默认行格式InnoDB表。一个新的配置选项,innodb_default_row_format,指定默认的InnoDB行格式。允许的值包括动态(默认),紧凑的,冗余

    紧凑的的旧版本之前,行格式一直保持默认行格式,以确保与旧版本兼容InnoDB在MySQL 5.1及更早版本中。现在MySQL 5.1已经到了其产品生命周期的末尾,更新的动态行格式成为默认格式。的优势信息动态行格式,请参见动态行格式

    所定义的行格式innodb_default_row_format当一个ROW_FORMAT选项没有显式指定或在何时指定ROW_FORMAT =违约使用。

    ,则现有表将保持其当前行格式ROW_FORMAT选项被显式指定。如果一个ROW_FORMAT选项没有显式指定或ifROW_FORMAT =违约时,任何重建表的操作也会将表的行格式无声地更改为innodb_default_row_format.有关更多信息,请参见定义表的行格式

  • 重要的变化;JSON:介绍了->JSON列路径操作符。->路径现在支持作为的同义词JSON_EXTRACT (路径,在那里是一个JSON列,路径是一个有效的JSON路径。

    的表达式->,就像它的等价物一样JSON_EXTRACT ()在有效的SQL语句中出现列标识符时,可以使用它来代替列标识符。例如创建表而且选择语句是有效的:

    CREATE TABLE t1 (a JSON, b INT, g INT GENERATED ALWAYS AS (a->"$.id"), h INT GENERATED ALWAYS AS (a->"$.storeid"), INDEX i (g), INDEX j (h));选择CONCAT(美元- >”。fname", ' ', a->"$.lname") AS名,a->"$。id" AS id, a->"$。storeid"从t1 WHERE g > 500 ORDER BY a->"$。storeid”- >“.lname美元”;

    类中读取的任何列值都可以使用列路径表达式选择列列表,或在在哪里命令,或集团任何SQL语句中的子句;这样的表达式不能用于设置值。

    当SQL语句包含一个或多个使用->符号,每一个都被翻译成一个等价的表达式JSON_EXTRACT ()函数来代替。的输出可以看出这一点解释当用于这样的语句时。

    就像JSON_EXTRACT (),->运算符返回为如果没有找到其他有效路径的匹配值。

    有关->而且JSON_EXTRACT (),请参阅搜索JSON值的函数.看到搜索和修改JSON值,以获取有关JSON路径支持的信息。另请参阅为生成的列建立索引以提供JSON列索引,以获取更多信息和示例。

  • InnoDB:一个新的INNODB_METRICS服务器操作柜台(innodb_dict_lru_count)统计从表缓存LRU列表中删除的表的数量。感谢Daniël van Eeden提供的补丁。(Bug #21682332, Bug #78190)

  • InnoDB:innodb_numa_interleave只读配置选项允许您启用NUMA交错内存策略来分配InnoDB缓冲池。当innodb_numa_interleave时,NUMA内存策略设置为MPOL_INTERLEAVEmysqld的过程。后InnoDB缓冲池被分配时,NUMA内存策略设置为MPOL_DEFAULT.此选项仅在支持numa的Linux系统上可用。

    感谢Stewart Smith的补丁。(Bug #18871046, Bug #72811)

  • JSON:JSON值更新函数JSON_APPEND ()JSON_SET ()JSON_REPLACE (),JSON_INSERT ()现在处理SQL值作为JSON的空文字,这是一致的JSON_OBJECT ()而且JSON_ARRAY ().(Bug #77733, Bug #21450922)

  • MySQL发行版现在包含这些头文件,因为my_sys.h这取决于他们:my_thread_local.hthr_cond.hthr_mutex.hthr_rwlock.h.(错误# 21909332)

  • MySQL Server RPM包现在过时MySQL Connector C.安装MySQL Server会导致旧的libmysqlclient从任何MySQL Connector C包中删除并用当前的libmysqlclient.(错误# 21900800)

  • RPM.spec从源RPM包构建的MySQL Server将包含适当的文件,以利用操作系统NUMA功能。的运行时依赖libnuma.so.1.RPM和百胜检测这一点,如果库没有安装,则拒绝安装。(错误# 21775221)

  • JSON_APPEND ()函数被重命名为JSON_ARRAY_APPEND ().(错误# 21560934)

  • 的时候,服务器会生成一个警告default_storage_enginedefault_tmp_storage_engine系统变量设置为已禁用的存储引擎disabled_storage_engines系统变量。(错误# 21405865)

  • 表空间的元数据锁定已经扩展,对于引用多个表空间的DDL语句,将在所有使用的表空间上获得元数据锁定。(错误# 21376265)

  • 单元测试现在使用谷歌Mock 1.7而不是1.6。(错误# 21215389)

  • 添加了对使用Solaris Studio 5.13构建的支持。(错误# 21185883)

  • mysql_ssl_rsa_setup默认情况下,现在的噪音更小。输出openssl仅当——详细是给定的。(错误# 21024979)

  • 的插入开销内存通过缓存计算哈希值来减少存储表。(Bug #78480, Bug #21866029)

  • 写入的初始密码消息mysqld——初始化的错误日志(警告)到一个[注].(Bug #78182, Bug #21680457)

  • mysqlpump现在支持——版本选择。(Bug #77894, Bug #21534277)

  • 对象中删除了不需要的脚本和测试文件测试目录,该目录被重命名为testclients.(Bug #77807, Bug #21490075)

  • 中的性能模式摘要DIGEST_TEXT列有...附加到末尾,以指示语句何时超过最大语句大小并被截断。的语句文本值现在也可以这样做SQL_TEXT列。(Bug #75861, Bug #20519832)

  • 输出mysql_upgrade现在更少的噪音和更多的信息。(Bug #59077, Bug #11766046)

错误修复

  • 重要的变化;InnoDB;分区:无法升级现有分区表以使用为之实现的本机分区InnoDB表在MySQL 5.7.6。此修复程序增加了对两者的支持mysql_upgrademysql升级分区的客户端InnoDB表在以前的版本中创建,该版本使用ha_partition处理程序,以使用InnoDB而是本地分区。

    • mysql_upgrade现在检查所有InnoDB类创建的表ha_partition处理程序,并试图将它们升级为InnoDB本地分区。

    • mysql客户端,5.7.6之前的分区InnoDB方法可以将表逐一升级到本机分区修改表…升级分区在此版本中实现的语句。

    (Bug #20727344, Bug #76374)

  • 重要的变化;复制:开始的奴隶而且停止奴隶语句不能再用于group_replication_recovery通道。看到复制通道,以查询更多资料。(错误# 21680074)

  • 重要的变化;复制:在MySQL 5.7中,binlog_max_flush_queue_time在MySQL 5.6中引入的system变量不再有任何效果。这个变量现在已被弃用,并已被标记为在将来的MySQL版本中最终删除。(错误# 21347087)

  • 重要的变化;复制:当使用单线程从线程时,应用程序线程的状态现在作为replication_applier_status_by_worker表格,而不是replication_applier_status_by_coordinator.这意味着replication_applier_status_by_coordinator当使用单线程从库时,现在为空;应该注意的是,多线程从库的这种报告并没有改变,而是继续显示在那个表中。(Bug #74765, Bug #20001173)

  • InnoDB;微软的Windows操作系统:试图在Windows根驱动器上创建通用表空间数据文件时出错。(Bug #21419888, Bug #77676)

  • InnoDB;微软的Windows操作系统:设置lower_case_table_names = 0在不区分大小写的文件系统上运行时,可能导致挂起条件插入…选择……从tbl_name操作与错误tbl_name文书夹。现在打印一个错误消息,当试图启动服务器时,服务器退出——lower_case_table_names = 0在不区分大小写的文件系统上。(Bug #20198490, Bug #75185)

  • InnoDB:undo日志中包含的虚拟列和虚拟列索引信息不足,在添加或删除虚拟列时可能导致服务器退出。因此,一个缓慢的关闭(使用innodb_fast_shutdown = 0)在执行MySQL 5.7.8的本地升级或降级之前是必需的。有关更多信息,请参见升级MySQL.(Bug #21869656, Bug #78489)

  • InnoDB:一个table-rebuildingALTER TABLE在虚拟列上创建索引的操作引发断言。(Bug #21847170, Bug #78452)

  • InnoDB:一个选择……更新对具有虚拟生成列的表的操作引发断言。InnoDB为覆盖的二级索引扫描不必要地检索了非索引的虚拟列。(错误# 21827963)

  • InnoDB:类时,创建包含大行的表失败ROW_FORMAT =动态ROW_FORMAT =压缩由于不正确的撤消日志记录大小计算。相同的操作成功与ROW_FORMAT =紧凑ROW_FORMAT =冗余

    ROW_FORMAT =动态而且ROW_FORMAT =压缩现在允许在DDL时违反行长度innodb_strict_mode是禁用的。(Bug #21816041, Bug #78392)

  • InnoDB:在索引前缀长度超过最大长度的虚拟生成列上添加索引会导致服务器退出。(错误# 21812026)

  • InnoDB:崩溃恢复后发生内存泄漏。中分配的内存fil_space_read_name_and_filepath ()没有被释放。(错误# 21811321)

  • InnoDB:更改虚拟生成列的数据类型或计算方法会导致错误。(错误# 21810004)

  • InnoDB:在创建空间索引时引发断言。InnoDB计数空间索引列之前的虚拟列失败。处理步骤(错误# 21807340)

  • InnoDB:表空间发现的修改在MySQL 5.7.5包括删除相关的代码MLOG_FILE_CREATE2重做日志记录。结果,重做日志中没有包含足够的文件创建信息。(Bug #21801423, Bug #78363)

  • InnoDB:重做日志没有显示在并发DDL操作期间索引页写的重做日志被禁用。因此,外部热备份工具可能产生损坏的备份。(Bug #21796691, Bug #78351)

  • InnoDB:在调试构建中,在透明页面压缩测试期间断言恢复。从doublewrite缓冲区撕毁的页导致LSN调试检查失败。(错误# 21796092)

  • InnoDB:在分区表上创建虚拟生成列会导致服务器退出。(Bug #21790751, Bug #78326)

  • InnoDB:旧版的使用在构建包含NUMA内存策略支持的MySQL版本时,生成主机上的头文件导致编译错误。(错误# 21785074)

  • InnoDB:一个选择. .更新对索引虚拟生成列的操作引发断言。(错误# 21775459)

  • InnoDB:表空间标识符(space_id)登录了两次MLOG_TRUNCATE重做日志记录。(错误# 21744589)

  • InnoDB:崩溃恢复发出一个无效的错误消息,指示一个isl文件无法打开或不正确。(错误# 21691438)

  • InnoDB:InnoDB监视器显示互斥锁创建信息错误,互斥锁的信号量等待时间过长。(Bug #21682997, Bug #78179)

  • InnoDB:中的错误消息格式已被纠正os_file_write_page ()函数。(Bug #21681433, Bug #78184)

  • InnoDB:i_s_dict_fill_sys_tablespaces ()函数可以在打印错误消息之前释放与文件名关联的内存。(Bug #21680518, Bug #78180)

  • InnoDB:在调试版本中,扫描和应用的重做日志记录现在用字符串标识符而不是数字标识符打印——ib_log debug = d传递给mysqld.例如,rec MLOG_2BYTES现在是打印而不是rec 2.(Bug #21664268, Bug #78148)

  • InnoDB:的系统调用次数InnoDB减少了页面压缩功能。(错误# 21654695)

  • InnoDB:recv_parse_log_rec函数在遇到不完整的重做日志记录时返回重做日志记录的长度而不是0MLOG_CHECKPOINT记录。(Bug #21640085, Bug #78058)

    这个问题是一个17798076 Bug的回归。

  • InnoDB:在调试版本中,控件中的括号不匹配匹配()与()子句引发全文解析器断言。(错误# 21638907)

  • InnoDB:添加了调试代码,以避免在Valgrind测试期间引发的doublewrite缓冲区断言。(错误# 21631197)

  • InnoDB:日志消息得到了改进,以帮助识别在添加回滚段时可能发生的空间不足错误。(错误# 21629618)

  • InnoDB:在调试版本中,启用innodb_log_checkpoint_now调试选项,同时表重建ALTER TABLE正在运行的操作可能导致无限循环。(Bug #21628087, Bug #78056)

  • InnoDB:UNIV_INLINE没有定义dict_table_has_indexed_v_cols函数。(Bug #21628058, Bug #78055)

  • InnoDB:不支持将修改虚拟列数据类型作为就地操作。(错误# 21617377)

  • InnoDB:排序被跳过ALTER TABLE语句,该语句更改了主键并删除了前一个主键的最后一列。(Bug #21612714, Bug #78020)

  • InnoDB:在恢复期间,无效的isl档案被视为失踪isl文件中定义的文件位置将打开表空间MLOG_FILE_ *记录在重做日志中。恢复不再打开表空间isl文件无效。(Bug #21577278, Bug #77986)

  • InnoDB:提供旨在减少自适应哈希索引搜索锁存的超时机制的代码(btr_search_latch)争用被删除。在MySQL 5.7.8中引入自适应哈希索引搜索系统分区后,该代码就过时了。(Bug #21569876, Bug #77957)

  • InnoDB:压缩选项显示错误显示创建表输出。(Bug #21557723, Bug #77940)

  • InnoDB:一个innodb_data_file_pathMismatch会引发断言,初始化数据库时数据文件大小太小,无法满足指定的页面大小。(错误# 21551464)

  • InnoDB:添加了一个检查以防止访问处于不一致状态的全文索引表。(错误# 21529012)

  • InnoDB:导入更改的表空间时,发生模式不匹配错误指数下降源服务器上的操作。(Bug #21514135, Bug #77659)

  • InnoDB:在前一列上添加全文索引后,在虚拟生成的列上创建索引会引发断言。(错误# 21478389)

  • InnoDB:对于具有动态压缩行格式,为虚拟列撤消了不必要的数据记录。(错误# 21477535)

  • InnoDB:一个插入操作引发了btr_search_enabled断言。断言代码限制太大。(错误# 21457373)

  • InnoDB:重新加载空时被逐出的表会导致AUTO_INCREMENT需要重置的值。(Bug #21454472, Bug #77743)

  • InnoDB:飞机失事截断表该操作导致服务器在启动时退出。(错误# 21451922)

  • InnoDB:.isl删除MySQL数据目录外创建的通用表空间时没有删除。(Bug #21446772, Bug #77724)

  • InnoDB:项下发生了不一致的读取可重复读取事务隔离级别。操作在同一行上的事务以错误的顺序从事务ID列表中删除。(Bug #21433768, Bug #77699)

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

  • InnoDB:禁用自适应哈希索引特性后,不必要地获取和释放了自适应哈希索引锁存。(错误# 21407023)

  • InnoDB:一个ALTER TABLE对在虚拟列上定义索引的表的操作错误地修改了虚拟列的数据。(Bug #21376546, Bug #77628)

  • InnoDB:与虚拟列相关的清除操作引发了断言。(错误# 21374258)

  • InnoDB:在分区表上,在生成的列上创建索引会引发断言。(错误# 21372331)

  • InnoDB:由于内存已满,在线调整缓冲池大小会引发断言。(Bug #21348684, Bug #77564)

  • InnoDB:一个修改表…导入表空间操作innodb_page_size = 4 k而且ROW_FORMAT =动态提出了一个断言。(Bug #21341030, Bug #77540)

  • InnoDB:对于空间索引,InnoDB在undo日志记录中不必要地存储了3072字节的前缀,而不是最大边界矩形(MBR)。对于具有外部存储数据的列,前缀和MBR都会被记录。(Bug #21340268, Bug #77537)

  • InnoDB:无效的init_ftfuncs ()断言代码已被删除。(错误# 21300774)

  • InnoDB:属性中添加了内存分配健全性检查memcached代码。(错误# 21288106)

  • InnoDB:的引用计数错误导致挂起TrxInInnoDB构造函数。innobase_close_connection ()对象之前释放了事务对象TrxInInnoDB调整引用计数的对象。(错误# 21280816)

  • InnoDB:重新引入的MySQL 5.7.8补丁显示引擎innodb互斥锁功能性导致了性能倒退。(错误# 21266784)

    参考文献:参见Bug #77314, Bug #21238953。

  • InnoDB:一个memcachedflush_all命令引发断言。从断言代码中调用启动事务的函数。(Bug #21239299, Bug #75199)

  • InnoDB:当高优先级事务等待受害者事务退出,而受害者事务等待异步回滚完成时,就会发生关闭挂起。(错误# 21143276)

  • InnoDB:ARM64发生数据损坏。GCC内置程序在设置或取消设置锁字时没有发出正确的fence。(Bug #21102971, Bug #76135)

  • InnoDB:等待清除线程退出,服务器关闭被延迟。为避免此问题,将电话号码调至trx_purge ()被还原了,而trx_purge ()批大小减少到20个。(错误# 21040050)

  • InnoDB:读过承诺模式中,取代对唯一二级索引的操作导致违反约束。感谢Alexey Kopytov的补丁。(Bug #21025880, Bug #76927)

  • InnoDB:IBUF_BITMAP_FREE比特表示叶页中的空闲空间比实际可用的空间要多。(错误# 20796566)

  • InnoDB:在恢复崩溃的数据库之前移动数据目录会导致在MySQL数据目录之外创建的表空间发现表空间失败。(Bug #20698468, Bug #76308)

  • InnoDB:innodb_buf_flush_list_now调试设置未能将所有脏页刷新到磁盘。(错误# 20582189)

  • InnoDB:一个修改表…添加全文索引操作引发断言。线程试图使用正在回滚的低优先级事务,该事务在回滚操作完成之前正在回滚。(错误# 20481175)

  • InnoDB:运行一个ALTER TABLE在对引用表进行并发DML操作期间,对具有级联外键约束的引用表的操作会导致引用完整性丢失。(错误# 20367116)

  • InnoDB:参数无法启动服务器innodb_force_recovery设置大于3。InnoDB在应用重做日志之前设置为只读模式。

    删除表对象现在支持innodb_force_recovery设置大于3。(错误# 19779113)

  • InnoDB:trx_sys_read_pertable_file_format_id ()函数报告错误的文件格式。(错误# 19206671)

  • InnoDB:mysql_system_tables_fix_for_downgrade.sql从MySQL安装目录中删除了脚本,该脚本是在从MySQL 5.7.6或更高版本降级时方便更改系统表的。该脚本对所有降级路径不再有效。有关更多信息,请参见降级的笔记.(Bug #78259, Bug #21753832)

  • InnoDB:使用索引条件下推(ICP)的表上的虚拟生成列导致断言。(Bug #77842, Bug #21507796, Bug #21478287)

  • 包装;OS X:使用用户= mysql在OS X上安装时不允许mysql待安装的数据库。为了解决这个问题,OS X包现在使用——已选项在创建此数据库时。这也意味着有一个my.cnf系统上的文件不再影响安装。(错误# 21364902)

  • 分区:与分区失败相关的错误处理ALTER TABLE对非分区表的操作没有正确执行(Bug #20284744)

  • 分区:ALTER TABLE当从存储过程执行时,对由分区的表并不总是能正确工作范围.(Bug #77333, Bug #16613004, Bug #21246891)

  • 复制:组复制应用程序通道不支持数据库随着slave_parallel_type;在启动组复制时,将显式地检查并正确处理。但是,仍然可以在以后的时间点通过增加的值来间接地改变这个值slave_parallel_workers而从SQL线程被停止,这导致应用程序失败并出现错误。为了解决这个问题,slave_parallel_typegroup_replication_applier,以确保它被设置为LOGICAL_CLOCK无论何时slave_parallel_workers设置为大于0,且不仅仅是在首次启动组复制时设置。(错误# 21798804)

  • 复制:作为binlog_error_action = ABORT_SERVER是MySQL 5.7.7及以后版本的默认值,它被用于更多的错误情况。该行为已被调整为生成核心转储,以提高故障排除的可能性。(Bug #21486161, Bug #77738)

  • 复制:在运行时,Gtid_set对象可以使用等于0(无效)的Performance Schema互斥锁键来检测,因为在实际没有提供互斥锁键时,它被用作有效的默认值。这允许在没有有效键的情况下创建这些对象,这导致在使用它们时出现进一步的问题。(错误# 21485997)

  • 复制:运行服务器时gtid_mode =对,一个删除从一个内存重新启动后的表没有正确写入二进制日志。(错误# 21045848)

  • 复制:ER_CANT_USE_AUTO_POSITION_WITH_GTID_MODE_OFF没有使用正确的格式报告错误。(错误# 20545943)

  • 复制:当转储线程在转储不活动的二进制日志时被杀死时,该日志中的一些事件可以被跳过,因此不会被复制。(Bug #78337, Bug #21816399)

    参考文献:参见Bug #74607, Bug #19975697。

  • 复制:XA事务可能导致断言条件XA提交;发生这种情况是因为内部事务状态没有被重置XA准备而且XA提交XA回滚,因为这些操作构成XA下的独立事务。此外,XA回滚在某些情况下,报表处理不当。(Bug #78264, Bug #21755890)

  • 复制:Group Replication插件和Performance Schema引擎之间的接口使用了一种传递给服务器的内存分配类型,当在插件和Performance Schema引擎之间传递信息时,这是一个潜在的问题来源performance_schema表。此接口的实现已被重做,以避免在共享数据时执行这种类型的内存分配。(Bug #78263, Bug #21755699)

  • 复制:每个通道的MTS子模式集被工作线程忽略,工作线程继续读取和使用所有从通道的全局标志集。当协调器是一种类型而它的工作器是另一种类型时,这可能会导致错误。(Bug #77763, Bug #21464737)

  • 复制:的权限时,复制从端可能会因为权限不足而失败复制的奴隶特权。(Bug #77732, Bug #21455603)

  • 复制:状态变量Slave_open_temp_tables跟踪复制从打开的临时表的数量。如果启用了多源复制,则它是所有通道的临时表的总数。此修复解决了与此变量相关的以下问题:

    • 为通道重置从机通道强迫的价值Slave_open_temp_tables为0;如果其他一些复制区域通道打开了临时表,这些表后来被删除,则该值将被替换为一个大的负值(1 - 232).这也会导致错误或遗漏的警告停止奴隶将master更改为声明。

    • 修改的内部函数Slave_open_temp_tables在这种情况下,有两个错误的假设:

      1. 当没有启用多线程从端时,只有一个线程更新该变量,这在多源复制的情况下是不正确的。

        对于单个写入器和多个读取器,非原子操作是安全的,但对于MySQL支持的某些平台来说,这并不一定是正确的。

    (Bug #77585, Bug #21357008)

  • 复制:的警告“@@SESSION。Gtid_executed '已弃用,将在未来的版本中删除。是否打印了会话变量gtid_executed未包括在查询的结果中。此外,结果选择@@SESSION.gtid_executed包括一个重复的警告。发生这两个问题的原因是每当值时都会打印警告gtid_executed被语句访问,无论结果中是否实际包含给定的变量,这样的访问都是理所当然的。

    为了解决这个问题,我们做了处理@@SESSION.gtid_executed与被弃用的变量一致@@GLOBAL.sql_log_bin在这种情况下,通过进行以下更改来处理:

    警告仍然是由这样的语句发出的选择@@SESSION.gtid_executed它直接访问变量的值。(Bug #77574, Bug #21354712)

    参考文献:参见Bug #75980, Bug #20575529, Bug #76626, Bug #20854952。

  • 复制:当事务在自动提交模式下失败时,当禁用二进制日志记录时回滚事务时,它的GTID不会释放。(Bug #77521, Bug #21338147)

  • 复制:从组事件解析器没有正确注册XA_ROLLBACK事件作为事务边界。(Bug #77392, Bug #21273010)

    参考文献:参见Bug #20920851。

  • 复制:mysqlbinlog打印一个回滚语句,该语句在回放时失败,错误为1782@@SESSION。当@@GLOBAL时,GTID_NEXT不能设置为ANONYMOUS。Gtid_mode = on.当二进制日志文件不包含任何与事件相关的数据时,或者当中继日志文件包含Format_description_log_event它在服务器启动时在主服务器上生成。

    此问题的修复会导致一个中继日志Format_description_log_event什么也不做,如果它是由一个BINLOG语句,并停止a回滚从设置gtid_next匿名当状态gtid_next尚未由后续事件确定。(Bug #76887, Bug #20980932)

  • 复制:保存点而且回滚到保存点在一个触发器中导致断言。(Bug #76727, Bug #20901025)

  • 复制:而一个显示binlog事件语句正在执行,任何并行事务都被阻塞。该修复确保显示binlog事件进程现在只在计算文件的结束位置期间获得锁,因此并行事务不会阻塞很长时间。(Bug #76618, Bug #20928790)

  • 复制:如果一个创建视图语句失败,它被错误地写入二进制日志,即使它没有导致创建部分视图。该修复确保此类语句不会记录在二进制日志中。此外,还发现当一个在主机上失败的语句被从机上接收到并带有预期错误时,如果该语句在从机上被跳过,例如由于复制过滤器,则预期错误将与从机上发生的实际错误进行比较。该修正确保了如果从服务器接收到一个带有预期错误的语句,如果该语句没有被过滤,那么它只会与从服务器上发生的实际错误进行比较。(Bug #76493, Bug #20797764)

  • 复制:指定的动作binlog_error_action在日志旋转过程中发生硬件故障后,并不总是正确执行。(Bug #76379, Bug #20805298)

  • 复制:当使用MySQL 5.7.6及以上版本时binlog_format =行而且gtid_mode =了,如果创建…选择在执行过程中被杀死可能会导致不一致状态,破坏复制。原因是在MySQL 5.7.6的方式创建…选择日志被更改,因此在创建表而且选择步骤。该修复确保创建…选择什么时候在事务中间不提交binlog_format =行.(Bug #76320, Bug #77098, Bug #20742519, Bug #21114464)

  • 复制:修改master_info_repositoryrelay_log_info_repository在事务内部和稍后回滚该事务使存储库处于不可用状态。我们通过防止在事务中修改这些存储库来解决这个问题。(Bug #74950, Bug #20074353)

  • 复制:增加的事务gtid_executed使用gtid_purged没有考虑到WAIT_FOR_EXECUTED_GTID_SET ()直到客户端或从线程提交后续事务。(Bug #73838, Bug #19579811)

  • 复制:当使用relay_log_info_repository =表,mysql.slave_relay_log_info表在提交事务或显式执行刷新(例如在中继日志旋转期间)时更新。如果一个事务使用任何非事务性表(例如MyISAM表)跨多个中继日志分割,它在中继日志刷新时部分提交。当gtid_mode =对,这会导致对事务的其余部分使用相同的GTID,从而引发ER_GTID_NEXT_TYPE_UNDEFINED_GROUP错误。

    在这种情况下,我们通过延迟更新中继日志信息存储库(通常发生在中继日志旋转时)来解决这个问题,直到执行了相关事务的提交。

    此问题不影响使用事务性存储引擎的表,例如InnoDB.(Bug #68525, Bug #16418100)

    参考文献:参见Bug #21630907, Bug #76974。

  • JSON:虽然使用JSON值和最大的()至少()当前不支持,服务器没有正确处理这样做的尝试,导致断言(Linux)或退出()在调试版本中调用(Windows)。现在,当您尝试在这些函数中使用JSON值时,服务器会发出适当的警告(ER_NOT_SUPPORTED_YET).(错误# 21828321)

    参考文献:参见Bug #21383497。

  • JSON:对象所生成的列的表JSON列在某些情况下会损坏,因此使用不同的连接对表的后续访问会导致服务器失败。(错误# 21808680)

    参考文献:参见Bug #21824519, Bug #78408。

  • JSON:JSON_TYPE ()返回不透明的对于一些二进制值,它应该被识别为.(错误# 21649073)

  • JSON:如果将path参数作为用户定义变量传递,从而更改结果集行之间的值,则JSON函数可能返回不正确的值。(错误# 21602361)

  • JSON:如果多列更新语句更新a失败JSON列,然后在以后的更新中引用,服务器就可以退出。(错误# 21547877)

  • JSON:对于调试构建,JSON值的不正确缓存可能导致引发断言。(错误# 21491442)

  • JSON:空字符串(不是有效的JSON值)通常会被解析并作为JSON空文字返回,但在某些情况下可能会引发调试构建的断言。(错误# 21487833)

  • JSON:当视图是外部连接的内部表时,aJSON列可以产生非-值的时候是预期。(错误# 21448719)

  • JSON:如果JSON_CONTAINS_PATH ()被称为one_or_all的观点所有如果path参数包含通配符,则函数查找每个路径的所有匹配项,尽管在本例中一个匹配项就足够了。(错误# 21442775)

  • JSON:JSON_SET ()而且JSON_REPLACE ()如果路径表达式识别了非数组值,有时会产生错误的结果。(错误# 21442624)

  • JSON:使用非严格SQL模式或JSON转换错误的抑制插入忽略如果将空值插入到Json不为空列已复制到另一列JSON列。(错误# 21437989)

  • JSON:对于深度嵌套的JSON输入,ST_GeomFromGeoJSON ()JSON_VALID ()可能产生堆栈溢出。(Bug #21389101, Bug #21377136)

  • JSON:解析包含具有大负指数的浮点数的JSON字符串失败可能导致服务器退出。(错误# 21384048)

  • JSON:对于调试构建,调用ST_AsGeoJSON ()分组由…与汇总可以提出一个主张。(错误# 21383497)

  • JSON:JSON_SEARCH ()如果指定了无效的转义表达式,则可能返回不正确的结果。(错误# 21383284)

  • JSON:对于调试版本,a第一个论证JSON_SET ()可以提出一个主张。(错误# 21381806)

  • JSON:对于形式的表达式子查询)在(子查询,其中子查询可能返回JSON值,如果未能处理行结果,则可能导致服务器退出。(Bug #21376088)

  • JSON:的失败JSON_APPEND ()处理合法条件可能导致服务器退出。(错误# 21373874)

  • JSON:某些JSON函数在有路径表达式常量的准备语句中使用时可能返回不正确的结果。(Bug #77785, Bug #21472872)

  • RHEL RPM包的依赖项信息不正确。(错误# 22218841)

  • 对于对索引生成的列进行仅索引扫描,服务器可以进行随机计算;随机结果不会暴露给用户,但可能会出现Valgrind警告,当计算涉及的函数没有预期到这种错误数据时,服务器可能会退出。(错误# 21833760)

  • 对于有虚拟生成的列,插入如果值列表为空,则可能导致服务器退出。(错误# 21807818)

  • CMake配置进行了调整,以处理Clang 3.7报告的新警告。(错误# 21803314)

  • 对于类型的插件PROTOCOL_PLUGIN,执行安装插件卸载插件,或关闭可能导致服务器退出。这样的插件不再被允许执行这些语句。(错误# 21797816)

  • 使用在包含生成列的表上定义的物化视图可能会导致服务器退出。(错误# 21797776)

  • 为分区InnoDB包含虚拟生成列的表,从表中读取可以返回该列的随机数据。(错误# 21779011)

  • CMake在没有NUMA支持的平台上检查NUMA可用性可能会导致编译问题。(错误# 21774859)

  • 优化器不考虑非函数表达式,例如(a和b) = 1类的索引生成的列时(a和b)表达式。现在使用而且考虑逻辑运算符。(错误# 21770798)

  • 对于调试版本,当优化器试图为范围优化克隆某些类型的键时,会引发断言。(错误# 21761867)

  • 对于调试构建,当优化器试图估计在没有键的情况下处理惟一值的成本时,服务器可能退出。(错误# 21697002)

  • 一个插入进入带有子查询的视图,如果作为预备语句执行,则可能失败。(错误# 21696206)

  • 查询有关InnoDB优化器使用的表空间索引的全索引扫描,结果为空,因为这种索引不支持全扫描。优化器不再考虑空间索引作为全索引扫描的候选者。(错误# 21663612)

  • 对于某些输入,ST_Intersection ()可能返回一个无效的多边形。(错误# 21658453)

  • 空间函数可以简化上下文中的几何值,这些值可能在查询的其他地方使用,从而产生不正确的结果。(错误# 21652012)

  • 如果ST_ConvexHull ()ST_SRID ()在视图定义中使用,结果定义包含ST_Convex_Hull ()(拼写错误)或SRID ()(弃用)。(错误# 21651588)

  • 对于调试构建,启用PAD_CHAR_TO_FULL_LENGTHSQL模式可能导致显示功能状态提出断言(错误# 21632425)

  • mysqlpump对于某些不兼容选项的组合,没有显示消息退出。(错误# 21628662)

  • 如果优化器试图基于准备语句参数创建临时表,则可能引发断言。(错误# 21625929)

  • 执行带有多个嵌套子查询的准备好的语句可能会引发断言。(错误# 21624851)

  • 对于调试构建,子查询优化失败可能会由于错误处理不当而引发断言。(错误# 21621313)

  • 在语句处理的早期,一些表和索引优化器提示丢失了,因此查询重写插件无法访问它们。这可能导致传入语句和语句模式模板之间的不正确匹配。(错误# 21619780)

  • 包含组合了分组和外部引用的嵌套子查询的查询可能会导致服务器退出。(错误# 21619634)

  • 通过第二个或第三个参数ST_AsGeoJSON ()可能导致服务器停止响应会话或(在调试版本中)抛出断言。

    向…提供意见处理程序读如果不能转换为正确的类型,则可能导致服务器停止响应会话或(在调试构建中)抛出断言。(Bug #21616810, Bug #21650603)

  • 对于调试版本,ST_IsValid(空)可以提出一个主张。(错误# 21616647)

  • 对于调试版本,在将时间值转换为十进制时,可能会引发对负零值的断言。(错误# 21616585)

  • ST_AsWKB ()如果给出的数据无效,可能导致服务器退出。(错误# 21614368)

    参考文献:参见Bug #22131961。

  • 如果在生成的列上使用聚合函数,而该列本身是多列索引的一部分,则服务器可以退出。(错误# 21613615)

  • 在列引用解析期间缺少错误检查可能导致错误消息或(在调试版本中)引发断言。(错误# 21613422)

  • 对于调试构建,可以在中引发断言Filesort: make_sortorder ()对于试图排序的操作Item_ref对象。(错误# 21611270)

  • 对于调试构建,对于具有半连接并使用物化策略的某些查询,如果键长度或键部分的数量为零,则会引发断言。(错误# 21566735)

  • 编译使用海湾合作委员会4.9或5.1在ARM64平台上失败。(错误# 21552524)

    参考文献:参见Bug #21845828。

  • 对于调试构建,无效的几何字节字符串可能导致空间函数抛出断言,而不是向调用者返回错误。(错误# 21546656)

  • 对于调试版本,过于严格的断言可能由无效字符For引发加载数据.(错误# 21542698)

  • 服务器可以在何时退出InnoDB对象上的辅助索引虚拟生成类型为的列.(错误# 21530366)

  • 对于要处理的临时表联盟选择的语句字符列,最大列宽度可能太长InnoDB来处理。现在,这样的列被创建为变长列。(错误# 21480999)

  • 对于配置为MAX_INDEXES大于64时,服务器使用临时表的某些查询可能导致服务器退出。(错误# 21466850)

  • 添加或删除虚拟生成的列可能导致服务器退出。(错误# 21465626)

  • 对于使用审计插件API的插件,MYSQL_AUDIT_GLOBAL_VARIABLE_SET传递给通知函数的事件不包括新变量值。(错误# 21457699)

  • 如果表名包含特殊字符,则对包含索引生成列的表的查询可能会失败。(错误# 21454155)

  • 对于调试版本,一些为空间参数(例如,指定为十六进制值)接受原始字节数据的空间函数,如果这样的参数在有效数据之后包含额外的垃圾,则可能引发断言。(错误# 21397107)

  • 对于调试构建,在子查询执行期间可能会引发错误断言。(错误# 21383882)

  • 对于调试版本,缺少错误检入Item_sum_hybrid: fix_fields ()导致引发断言。(错误# 21383714)

  • 调用ST_Buffer ()可以挂起或提出断言。(错误# 21372946)

  • 如果将服务器配置为监听已被另一个服务器实例使用的TCP/IP端口号,则服务器可能以不干净的方式退出。(错误# 21368299)

  • 的某些子查询作为参数过程分析()可能导致服务器退出。(错误# 21350175)

  • 在派生表中具有右外部连接的查询可能返回错误的数据。(错误# 21350125)

  • 使用以下命令启动服务器——skip-grant-tables(或者用——初始化——skip-grant-tables是隐含的)防止的安装插件而且卸载插件来自工作的陈述。(错误# 21335821)

  • mysql_ssl_rsa_setup会产生一个不需要的.rnd数据目录中的文件。(该文件实际上是由openssl,这mysql_ssl_ras_setup调用。mysql_ssl_rsa_setup现在清理文件)(Bug #21335818)

  • 一些INFORMATION_SCHEMA由于次优查询计划和物化不足,查询消耗了过多的内存。(错误# 21299665)

  • 配置为向。发送错误消息的服务器syslog或日志文件,在错误日志设置之前生成的消息被发送到stderrstdout.这些消息现在被缓冲,直到错误日志设置完成,然后被记录到适当的目的地。(错误# 21296553)

  • 类的子查询中使用派生表和聚合函数执行准备好的语句选择列表可能导致服务器退出。(错误# 21277074)

  • 格兰特为不存在的帐户创建帐户,即使NO_AUTO_CREATE_USER启用SQL模式。(错误# 21271571)

  • 的查询不是在的子查询数(不同的)可能返回不正确的结果。(错误# 21243772)

  • 当使用非常旧的数据目录(从MySQL 5.0开始)启动时,服务器可能会因为无法正确读取旧的授权表而退出。(错误# 21216433)

  • 涉及使用临时表更新的生成列的多表更新可能导致服务器退出或引发断言。(错误# 21216067)

  • 用于包含表单表达式的查询x在(子查询)在(subquery2,半连接和子查询物化策略的组合可能会导致服务器退出。(错误# 21205577)

  • 如果查询包含外部连接,例如LEFT JOIN (t1,t2,…)如果使用一个提示禁用右侧表上的连接缓冲,但没有禁用其他表上的连接缓冲,则会出现服务器退出。(错误# 21205282)

  • 的游标类型CURSOR_TYPE_READ_ONLY,检索第一次执行的结果集调用语句可能缺少第一行结果集,如果数据是数值型的;如果数据是字符串,则为调试构建引发断言;调用时导致服务器连接丢失mysql_stmt_fetch ().(错误# 21199582)

  • 控件关闭时,悬浮的blopointer可能仍然存在InnoDB表,导致后续读取无效内存并退出服务器。(错误# 21153489)

  • 对于某些需要临时表进行排序或分组的操作,表可能没有列并引发断言。(错误# 21143151)

  • 包含表单表达式的查询xnull) in (子查询可能导致服务器退出。(错误# 21139402)

  • 在服务器SSL文件自动生成过程中,ca.pem短暂拥有不安全的文件权限。(错误# 21138119)

  • 的错误处理可能会引发断言选择……更新子查询导致死锁并导致回滚。(错误# 21096444)

  • 的结果INSERT ()将输入作为十六进制字符串传递给的函数调用可能会公开比传递给函数的更多的信息。(错误# 21056907)

  • 子查询有COUNT ()集团可能产生不正确的结果。(Bug #21055139, Bug #78029, Bug #21615020)

  • 视图的可更新属性是在视图创建时设置的。如果删除基础表并将其重新创建为不可更新的表,则原始视图的可更新属性不会相应修改。这可能导致试图插入或替换视图的服务器退出。(这个问题特定于有多个表/视图的视图,而不会发生在更新语句中。)

  • 提供的锁定功能version_tokens插件被重命名:vtoken_get_read_locks ()vtoken_get_write_locks (),vtoken_release_locks ()现在被命名为version_tokens_lock_shared ()version_tokens_lock_exclusive (),version_tokens_unlock (),分别。

    这些函数也没有产生任何效果,因为它们是在设置它们的语句末尾隐式解锁的。(Bug #21034322, Bug #21280801)

  • 通过yaSSL链接并使用GCC 4.8.2编译的服务器可能在启动几秒钟后才会正确响应连接尝试。(错误# 21025377)

  • 升级旧数据目录(MySQL 5.0或5.1)时,mysql_upgrade可能无法正确阅读mysql.proc表格(错误# 20968596)

  • 对于有子分区的表,如果可以识别出分区而不能识别子分区,则在分区修剪期间,由于错误的错误处理,服务器可能会退出。(错误# 20909518)

  • mysql_upgrade在修复阶段可能无法在错误的数据库中查找已检查的表。(错误# 20868496)

  • 删除可以在使用表别名时检查错误数据库的特权。(错误# 20777016)

  • , mysqldump对生成的列定义使用了错误的语法。(错误# 20769542)

  • 在触发器中,使用已访问的游标来自一行的值可能导致服务器退出。(错误# 20760261)

  • 类执行过程中的失败XA准备语句可能导致XA事务状态无效。后续启动另一个XA事务的尝试导致ER_XAER_OUTSIDE错误。(错误# 20538956)

  • 审计日志插件可以审计在audit_log_exclude_accounts系统变量。(错误# 20408206)

  • 如果生成的外键索引被重命名为ALTER TABLE语句添加了具有相同名称的新外键,则服务器可以退出。(错误# 20146455)

  • ALTER TABLE删除和添加相同的操作全文索引没有作为避免使用表的临时副本的就地(快速)操作执行。(错误# 20106837)

  • 当天数计算DATE_FORMAT ()函数为负,则服务器可以退出。(错误# 19985318)

  • ALTER TABLE添加或修改列的操作可能会由于缺少验证而创建包含无效数据的几何列。(错误# 19880316)

  • 如果在第一部分是字符串列的索引上尝试范围优化,并且用于比较的值被完全截断,则比较将是不正确的,并产生不正确的结果。(错误# 19333852)

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

  • 由于对查询中使用的聚合函数的错误清理,服务器可能挂起。(错误# 18979515)

  • 类中使用聚合函数的某些查询需要使用适当的索引时,服务器可以退出在哪里条款。(错误# 18706592)

  • 在Windows上,validate_password插件可能在字典检查期间导致服务器退出。(错误# 18636874)

  • 调用存储程序时不使用数据库名称限定它可能会导致存储程序编译错误。(错误# 18599181)

  • 解释的语句包含GROUP_CONCAT ()可能导致服务器退出。(错误# 17865675)

  • 的值FOUND_ROWS ()函数返回在上一个查询中找到的行数,在执行下一个查询期间可能会发生更改。现在的价值FOUND_ROWS ()对于上一个查询,在执行下一个查询时保持不变。(错误# 17846246)

  • 检查错误条件失败可能导致某些更新或删除导致服务器退出。(错误# 17763238)

  • 在Windows环境下,审计日志插件中的堆损坏导致服务器启动失败。(错误# 14700102)

  • 如果更新的一部分插入……重复密钥更新交换两个列值,服务器可以读取不正确的数据并退出。(错误# 13901905)

  • 对于调试构建,将派生表合并到外部查询块可能会引发断言。(Bug #79502, Bug #22305361, Bug #21139722)

  • mysqlpump使用Clang编译失败。(Bug #78637, Bug #21924096)

  • 对于调试版本,a下降触发语句可以引发断言,如果触发器定义在包含已生成列的表上。(Bug #78408, Bug #21824519)

  • 中的一些压力测试文件mysql-test /套件/ innodb_stress目录设置了可执行文件模式,尽管它们不是脚本文件。(Bug #78403, Bug #21822413)

  • 使用派生表并包含引用该派生表列的集合函数的子查询可能聚合在错误的查询块中。(Bug #78250, Bug #21753180)

  • 对于某些输入,ST_Union ()可能返回无效的几何集合。(Bug #78206, Bug #21689998)

  • 在非windows系统上,设置range_alloc_block_sizequery_alloc_block_size如果在启动时输入大于32位的值,可能会导致服务器退出。这些系统变量的最大值(在所有平台上)现在限制为232−1,取整到1024的最接近倍数。(Bug #78188, Bug #21682231)

  • mysql-test-run.pl现在有一个——valgrind-clients选项,该选项将导致所有客户机由test要运行的文件valgrind.这个选项需要valgrind3.9或更高版本。

    此外,修复了几个客户端内存泄漏问题。(Bug #78165, Bug #21672747)

  • mysql客户端解析器错误地解释了包含的优化器提示注释,或字符。(Bug #78114, Bug #21646026)

  • 这些版本令牌问题得到了解决:

    • version_tokens_delete ()现在在其参数中去除标记名称周围的空格,类似于version_tokens_set ()而且version_tokens_edit ()

    • 通过version_tokens_delete ()导致服务器退出。

    • 传递一个带有空标记名的参数version_tokens_set ()version_tokens_edit ()导致服务器退出。

    • 通过的超时值version_tokens_lock_exclusive ()version_tokens_lock_shared ()导致服务器退出。

    (Bug #78111, Bug #21645001, Bug #21646106, Bug #21645944, Bug #21646017)

  • 从左连接的右表(也是派生表)中选择的列可能会产生不正确的结果值信息时使用子查询。(Bug #77980, Bug #21574933)

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

  • 在Windows上,如果MySQL服务器作为服务启动,则错误日志文件的日志记录将被禁用。(Bug #77977, Bug #21574096)

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

  • setup_instruments性能模式表,可以设置内存仪表时间= '是的',尽管内存操作从不计时。现在,这样的尝试被忽视了。可以设置内置的存储设备(使用形式的名称)内存/ performance_schema / %)启用= '是的',虽然内置的内存仪器不能被禁用。现在,这样的尝试被忽视了。(Bug #77944, Bug #21562212)

  • , mysqldump而且mysqlpump输出包括sys模式存储程序时sysSchema没有被转储。(Bug #77926, Bug #21549860)

  • 如果配置文件包含多个,RPM安装脚本将失败datadir行。现在是最后一个datadir使用Line。(Bug #77878, Bug #21527467)

  • 一个不必要的memset ()已经删除了在性能模式摘要操作期间调用的调用,这通过减少开销提高了性能。(Bug #77863, Bug #21528683)

  • 修正了安全互斥锁实现的潜在竞态条件。默认情况下,此实现仅用于调试版本。(Bug #77862, Bug #21522888)

  • 二值测井创建用户语句可以记录密码散列的散列(而不是散列本身)log_backward_compatible_user_definitions被启用。二值测井改变用户语句可以包含原始语句中不存在的属性。

    在修复了这些问题之后,log_backward_compatible_user_definitions已经被log_builtin_as_identified_by_password.如果启用此变量,则二进制日志记录创建用户包含内置身份验证插件的语句重写语句以包含密码识别条款,设置密码语句的日志记录为设置密码语句,而不是被重写改变用户语句。(Bug #77860, Bug #21516392, Bug #20535561)

  • mysqld——初始化产生了关于丢失SSL文件的警告,这是不必要的,因为初始化不需要SSL。(Bug #77825, Bug #21498544)

  • 在对包含生成列的表进行分区修剪时,可能会发生Valgrind错误。(Bug #77782, Bug #21469535)

  • mysqlpump的方法调用——defer-table-indexes选项,它可能生成不正确的创建表具有外键和主键但没有辅助索引的表的语句。(Bug #77759, Bug #21462732)

  • 尝试使用以前未使用的时区CONVERT_TZ ()会产生警告或错误,或者(在调试版本中)在启用gtid但未启用二进制日志时抛出断言。

    在调试版本中,尝试使用以前未使用的时区CONVERT_TZ ()的值time_zone存储程序中的系统变量可能引发断言。(Bug #77753, Bug #21459999, Bug #77748, Bug #21459795)

  • 的服务器初始化脚本mysql服务状态命令有时会错误地报告服务器已停止。(Bug #77696, Bug #21768876)

  • ALTER TABLE可以对列位置大于64的索引虚拟列的表引发断言。(Bug #77656, Bug #21391781)

  • 对虚拟生成列的计算可能无法计算所有基列,并导致无效的内存读取。(Bug #77653, Bug #21390605)

  • 对于表格中的语句创建表…选择,其中表被定义为包含十进制无符号时,行大小计算错误,导致表中值不正确。(Bug #77636, Bug #21383896)

  • 一个在哪里包含两者的谓词削减(主要. .)而且削减(落后于…)可能会被不正确地优化掉。(Bug #77631, Bug #21447969)

  • 对于等待事件,性能模式使用周期定时器默认,但失败回落到一个不同的定时器,如果周期是不可用的。(Bug #77577, Bug #21374104)

  • 对象执行时磁盘已满的情况创建表空间语句导致服务器退出。(Bug #77556, Bug #21347001)

  • 派生表的特权预检查可能失败并导致服务器退出。(Bug #77525, Bug #21338077)

  • 对于空间函数,输入多边形在打开时自动关闭。然而,开放地理空间联盟准则要求输入多边形已经关闭。未关闭的多边形现在被拒绝为无效而不是被关闭。(Bug #77505, Bug #21327888)

  • 当一个虚拟如果将生成的列添加到表中,则不能确保由生成的列表达式计算的数据不会超出列的范围。这可能导致返回不一致的数据和意外失败的语句。

    ALTER TABLE现在支持没有验证而且与验证子句来控制是否ALTER TABLE的数据进行验证虚拟生成的列:

    • 没有验证(如果没有指定子句,则为默认值),执行原地操作(如果可能的话),不检查数据完整性,语句更快地完成。但是,如果值超出范围,以后从表中读取可能会报告列的警告或错误。

    • 与验证ALTER TABLE复制表。如果出现超出范围的错误或任何其他错误,语句将失败。由于执行的是表拷贝,所以该语句需要更长的时间。

    没有验证而且与验证只允许携带添加一列改变列,修改列操作。(Bug #77478, Bug #21317507)

  • 对于某些字符串函数,在子查询中求值时,由于创建临时表保存中间结果时的空间计算不正确,数据会被截断。(Bug #77473, Bug #21317406)

  • 语句摘要不包括关于优化器提示注释的信息,导致有提示和没有提示的语句被聚合。(Bug #77414, Bug #21286261)

  • 谓词形式的谓词圆(XY) > 0,在那里X列名称和Y是一个程序局部变量,当它应该返回true时可能返回false。(Bug #77391, Bug #21279005)

  • ST_SymDifference ()使用多多边形参数可能返回不正确的结果。(Bug #77372, Bug #21263152)

  • 更新VARCHAR而且文本相同的列更新语句可能产生不正确的结果。当一个VARCHAR列被分配给一个文本列和VARCHAR列设置为不同的值文本列的结果包含VARCHAR列的新值。(Bug #77135, Bug #21143080)

  • 中的子查询子句返回多行可能导致服务器退出。

    除了bug修复之外,解释现在显示零极限而不是不可能的,在优化查询时极限0.(Bug #76998, Bug #21067109)

  • 如果一个INFORMATION_SCHEMA执行表打开操作的查询遇到损坏的表并试图修复它,可能会发生死锁,导致事务中止,而没有报告适当的错误。这样的查询现在不会尝试表修复。(Bug #76912, Bug #21021848)

  • Mysqladmin -u root -p可能退出与分割错误。(Bug #76538, Bug #20802751)

  • 类中的子查询有时会为派生表生成索引条款)。如果在存储程序中执行的语句发生这种情况,则可能发生内存泄漏。(Bug #76349, Bug #20728894)

  • 如果从表中选择的预期行数在0到1之间,优化器对过滤条件的估计可能导致次优执行计划。现在估计至少是1。(Bug #76314, Bug #20701585)

  • 方法指定的文件init_file系统变量,mysqld——初始化为文件中的语句产生错误,例如格兰特影响用户帐户。(Bug #75918, Bug #20546898)

  • 类的范围扫描时,优化器可能错误地假定内存不足的情况运算符,导致对符合条件的行数估计过高。(Bug #75248, Bug #20229614)

  • events_statements_history性能模式表可以有错误当其他列表示有错误时,列值为0。(Bug #74614, Bug #19929832)

  • 的视图创建联盟失败,出现重复列错误选择的声明联盟除了第一个,使用相同的列名多次。(Bug #74539, Bug #19886430)

  • 写入慢查询日志的时间戳值可能不正确。(Bug #73974, Bug #19646918)

  • mysql客户端使用密码过期的帐户以批处理方式连接到服务器,错误消息没有意义。mysql现在的报告请使用——connect-expired-password选项或在交互模式下调用mysql在这种情况下。(Bug #72696, Bug #21464621)

  • 更新语句与命令,优化器可能执行不必要的filesort在一个用于扫描和更新的密钥上。(Bug #72518, Bug #18698556)

  • 对于具有许多范围条件的查询,优化器会估计范围扫描将需要太多内存,并退回到较不优化的计划,如全表扫描。

    一个新的range_optimizer_max_mem_size系统变量现在控制范围优化器的内存消耗限制。值为0表示没有限制。如果优化器考虑的执行计划使用范围访问方法,但优化器估计该方法所需的内存量将超过限制,则放弃该计划并考虑其他计划。(Bug #70247, Bug #17413040, Bug #17769777)

  • 具有该表单的空XML元素< / >元素没有被正确处理加载XML声明。(Bug #67542, Bug #16171518)

  • 如数开MyISAM表的增加,检查表是否打开的查找变得昂贵,特别是当表没有打开时。查找性能得到了改进,开销的减少尤其有利于对具有较大值的大量表进行选择table_open_cache而且table_definition_cache.(Bug #49177, Bug #11757169)