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.10的更改(2015-12-07,通用可用性)

MySQL 5.7.10(2015-12-07,通用可用性)

安全记录

  • 以前MySQL只支持TLSv1协议加密连接。TLS支持现已扩展到支持更高级别的连接加密:

    • 当使用OpenSSL 1.0.1或更高版本编译时,MySQL支持TLSv1、TLSv1.1和TLSv1.2协议。

    • 当使用yaSSL的绑定版本编译时,MySQL支持TLSv1和TLSv1.1协议。

    因为TLSv1.2需要OpenSSL,所以对该协议的支持在二进制发行版中仅适用于MySQL商业服务器,而不适用于MySQL社区服务器(使用yaSSL编译)。如果从源代码构建,要启用TLSv1.2支持,必须设置WITH_SSLCMake选项,使用OpenSSL。

    tls_versionsystem变量指定在启动时服务器允许传入的客户端和复制从连接使用哪些TLS协议。

    对于客户端程序,——tls版本option指定客户端允许连接到服务器的TLS协议。

    对于复制连接,MASTER_TLS_VERSION选项。将master更改为语句指定从服务器允许连接到主服务器的TLS协议。

    mysql_options ()C API函数有一个新的MYSQL_OPT_TLS_VERSION选项,从客户端库中指定客户端程序允许的TLS协议。

    默认情况下,MySQL试图使用可用的最高TLS协议版本,这取决于用于编译服务器和客户端的SSL库、使用的密钥大小以及服务器或客户端是否被限制使用某些协议(例如,通过tls_version/——tls版本).

    有关更多信息,请参见加密连接TLS协议和密码.(错误# 19921150)

增加或更改的功能

错误修复

  • InnoDB;微软的Windows操作系统:在Windows上崩溃后,将数据目录复制到非Windows平台上执行恢复会导致启动时崩溃恢复失败。代码没有转换文件路径分隔符/在重做日志中。(Bug #21825127, Bug #78410)

  • InnoDB:当试图在虚拟索引中使用的主键列上创建级联外键约束时,返回的错误消息不包括来自的信息dict_foreign_has_col_in_v_index ().(错误# 22050059)

  • InnoDB:使用多个索引虚拟列重建表的就地操作会引发断言。(错误# 22018532)

  • InnoDB:一个选择……更新仅包含虚拟列和虚拟列索引的表上的操作将引发无效断言。(Bug #21981164, Bug #21880930)

  • InnoDB:事件期间的服务器退出截断表对具有全文索引的表的操作导致启动失败。(错误# 21959479)

  • InnoDB:一个修改表…丢弃表空间操作引发无效断言。(Bug #21957001, Bug #78728)

  • InnoDB:与以前的版本相比,小的表空间包含值有更大的数据文件,这是在MySQL 5.7.5中引入的回归。(Bug #21950389, Bug #78623)

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

  • InnoDB:ord_part在虚拟列上创建索引的操作失败后,未重置标志,导致InnoDB在后续的插入操作上断言。(Bug #21941320, Bug #21979969)

  • InnoDB:为具有虚拟列的表创建了无效的搜索元组。(错误# 21922176)

  • InnoDB:InnoDB试图清除未标记为删除的虚拟列索引记录。(错误# 21901389)

  • InnoDB:对具有虚拟列的表的连续打开表操作导致内存访问冲突。(错误# 21894654)

  • InnoDB:更新矢量生成以进行全文搜索DOC_ID没有初始化一个新的ufield,生成断言。(错误# 21891185)

  • InnoDB:InnoDB阻止外键失败。处理步骤设置为空级联虚拟列基列和虚拟索引列的约束。(错误# 21890816)

  • InnoDB:无效的比较在64KB的实例上引发断言innodb_page_size设置。(Bug #21882024, Bug #78516)

  • InnoDB:在估计b-树索引页的最大记录大小时,InnoDB错误地将长固定字段(大于767字节)处理为固定大小字段而不是可变长度字段。(错误# 21880445)

  • InnoDB:在调试版本中,dtuple_get_n_fields试图读取先前分配给虚拟列元组的已释放内存,导致服务器退出。(错误# 21875974)

  • InnoDB:选择从INNODB_CMPMEM与选择big_tables = 1引发缓冲池互斥锁断言。(Bug #21871451, Bug #78494)

  • InnoDB:InnoDB操作期间返回与损坏相关的无效错误消息导入表空间操作。(Bug #21838158, Bug #77321)

  • InnoDB:一个抽水马桶…用于出口断言的操作row_quiesce_table_start ()当在分区表上运行时,分区位于系统或通用表空间中。(错误# 21796845)

  • InnoDB:一个删除表操作导致服务器退出。没有检查函数调用的返回值,这将导致对空指针的解引用。针对此bug的补丁还解决了一个潜在的竞态条件。(Bug #21794102, Bug #78336)

  • InnoDB:在调试构建中,跨多个分区的有序扫描不使用优先级队列,从而导致断言。(错误# 21753477)

  • InnoDB:重新启动服务器后,压缩的列INNODB_SYS_TABLESPACES表显示数据错误。的压缩列已从INNODB_SYS_TABLESPACES.若要查看页面压缩的当前设置,请使用显示创建表.(Bug #21687636, Bug #78197)

  • InnoDB:无效的表标志值引发断言。的SYS_TABLES.MIX_LEN (flags2)值未为使用ROW_FORMAT =冗余.(错误# 21644827)

  • InnoDB:类的崩溃恢复处理时引发断言MLOG_TRUNCATE重做日志记录将一个共享表空间视为一个单文件表空间。已跳过共享表空间的重做。(错误# 21606676)

  • InnoDB:由于无效断言,恢复后的事务回滚失败。(错误# 21575121)

  • InnoDB:撤消日志中关于空间列的信息不足会引发断言,可能导致升级失败。因此,在执行从MySQL 5.7.8或5.7.9到5.7.10或更高版本的本地升级之前,需要慢速关机。有关更多信息,请参见MySQL 5.7的变化.(错误# 21508582)

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

  • InnoDB:在基于使用的外键引用列的虚拟列上不允许使用辅助索引删除级联在删除时设置null更新级联,或更新集为null.这项限制没有得到执行。(Bug #21508402, Bug #77843)

  • InnoDB:在线DDL操作期间发生的重复键错误报告了错误的键名。(Bug #21364096, Bug #77572)

  • InnoDB:一个ALTER TABLE该操作导致服务器在磁盘已满时退出。(Bug #21326304, Bug #77497)

  • InnoDB:系统表空间数据文件在达到文件大小限制时没有自动扩展,导致启动失败,出现大小不匹配错误,并阻止添加另一个系统表空间数据文件。(Bug #21287796, Bug #77128)

  • InnoDB:更改一列的字母大小写会导致.frm文件和数据字典导致操作失败创建索引修改后的列上的操作。(错误# 20755615)

  • InnoDB:一个ALTER TABLE将表转换为InnoDB每表文件表空间没有检查与目标同名的未知文件.idb文件,允许覆盖同名的未知文件。(Bug #19218794, Bug #73225)

  • InnoDB:row_merge_read_clustered_index ()未能正确处理大容量加载错误。(错误# 19163625)

  • 分区:分区扫描不能正确地计算虚拟生成的列。这可能会导致分区表在虚拟机上有索引的问题列。(Bug #21864838, Bug #21881155)

  • 分区:在执行检查表,当检查行是否在正确的分区中时,分区引擎错过了虚拟生成列的更新。(错误# 21779554)

  • 分区:就地执行ALTER TABLE在一个分区上InnoDB表中有一个或多个使用单独表空间的分区可能导致服务器失败。(错误# 21755994)

  • 分区:当所有分区都被修剪后,在索引初始化过程中不会对它们进行初始化扫描。这涉及到两个相关的问题,一个是当索引关闭时,活动索引没有返回到最大键值。此外,当这是多范围读取的一部分时,会尝试访问未设置的变量。(Bug #78260, Bug #21754608, Bug #21620577)

  • 复制:配置的多线程从端上master_info_repository =表而且relay_log_info_repository =表之前运行的是什么自动提交= 1,如果奴隶被停止和自动提交更改为0,正在执行开始的奴隶导致会话看起来挂起。锁等待超时后,当开始的奴隶接着服务器会意外停止。该修复确保当master_info_repository =表relay_log_info_repository =表,自动提交= 0为启动和提交生成一个新的事务,以避免死锁。(错误# 21440793)

  • 复制:正在忽略刷新或同步二进制日志期间遇到的致命错误。的设置将捕获和处理此类错误binlog_error_action.(Bug #76795, Bug #68953, Bug #20938915, Bug #16666407)

  • 微软的Windows操作系统:在Windows上查询视图可能导致内存泄漏。(错误# 21908206)

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

  • 微软的Windows操作系统:在Windows上,当使用共享内存连接试图为OLTP测试创建多个表时,sysbench基准测试工具的“run”命令会挂起。(Bug #21319192, Bug #77481)

  • JSON:尝试定义对象时返回的错误消息文本JSON,或几何列带有默认值(错误1101,ER_BLOB_CANT_HAVE_DEFAULT)指而且文本只列。方法时,同样的错误适用于这四种类型中的任何一种默认的选项在列定义中;对应的错误消息现在通过引用来明确这一点JSON而且几何还有列。(Bug #78527, Bug #21887035)

  • JSON:使用JSON_EXTRACT ()在向表添加虚拟索引后,返回错误的结果。(Bug #78464, Bug #21854241)

  • 如果服务器是用——performance_schema_accounts_size = 0,查询Performance Schema状态变量表导致服务器退出。(错误# 22131713)

  • 对于调试版本,使用ALTER TABLE将生成的列添加到表中可能导致死锁。(错误# 22083048)

  • systemd单元文件没有指定——pid文件选择mysqld,导致服务器启动失败。单元文件现在包含一个默认值——pid文件选项。ExecStart价值。方法中可以重写此默认值override.conf通过更改PIDFile而且ExecStart命令,指定PID文件路径名称。(错误# 22066787)

  • 在派生表的选择列表中带有嵌套派生表和标量子查询的查询在某些情况下可能会导致服务器退出。(错误# 22062023)

  • mysqld是由——初始化,它使用乔恩()设置数据目录所有者,即使所有权已经正确。这给AppArmor和SELinux带来了问题。服务器现在检查数据目录所有者是否正确,并跳过乔恩()如果有,请打电话。(错误# 22041387)

  • 的生成列表达式计算失败创建表ALTER TABLE可能导致服务器退出。现在,如果表达式求值导致截断或向函数提供不正确的输入,语句将以错误终止,并拒绝DDL操作。(错误# 22018999)

  • 在虚拟机上创建唯一索引列可能导致错误或断言,用于以后的表访问。(错误# 22017616)

  • 向新启动的服务器发送负载峰值可能导致Performance Schema分配大量内存,可能导致内存不足故障。(错误# 22006088)

  • 的错误检查缺失可能导致服务器退出删除引用用户定义变量的语句。(错误# 21982313)

  • 的错误使用可能导致缓冲区溢出strcpy ()而且sprintf ()是纠正。(错误# 21973610)

  • MySQL RHEL5的RPM包创建失败mysql系统用户。(错误# 21950975)

  • 的列不支持类型,但服务器不阻止创建已生成的已使用的列表达式。这些现在都被禁止了。(错误# 21940542)

  • version_tokens插件调用锁定服务的超时值仅为1秒。的默认值lock_wait_timeout系统变量(即一年)。(错误# 21928198)

  • 如果给定一个包含孔洞的多边形或多多边形参数,例如孔洞顶点在位于外环段内部的一点接触到外环,空间函数可能返回无效结果。这可以表现为:ST_UNION ()产生无效多边形的;ST_SymDifference ()产生一个无效的多多边形;ST_Intersection ()产生一个无效的自相交多边形;ST_Difference ()生成无效的几何图形。(Bug #21927733, Bug #21927639, Bug #21927558, Bug #21977775)

  • STRICT_TRANS_TABLES启用SQL模式时,无法将数据插入虚拟类定义的生成列非空属性。(错误# 21927469)

  • 导致OpenSSL随机数生成的Valgrind警告的问题已被纠正。(错误# 21927436)

  • 方法指定的生成列定义属性导致语法错误。(错误# 21900170)

  • 使用的存储过程ST_Area ()可以为第一次和第二次执行返回不同数量的行。(错误# 21889842)

  • 对于内环与外环接触的多边形值,ST_Buffer ()可能返回无效的多边形值。(错误# 21871856)

  • 两排线程性能模式表可以具有相同的属性THREAD_OS_ID价值。(错误# 21865330)

  • 对于调试版本,使用ALTER TABLE更改生成列的表达式可能导致服务器退出。(错误# 21854004)

  • 改变用户如果服务器以。启动,则失败——skip-grant-tables.(错误# 21847825)

  • 会话的性能模式读取结构可能会产生竞争条件并导致服务器退出。(错误# 21841412)

  • 一个准备好的语句,用于计算ST_IsSimple ()ST_Buffer_Strategy ()在外部连接中的可空列上,对于第一个和第二个语句执行,可以返回不同的行数。(错误# 21841051)

  • 查询variables_by_thread在检查新连接的系统变量时,Performance Schema表可能导致服务器退出。(错误# 21840950)

  • 空间函数可以读取已经释放的内存。(错误# 21823135)

  • 对于Debian包控制文件,libnuma-dev被添加到建立关系以启用NUMA支持。(错误# 21822631)

  • 选择小数输入到用户定义变量中的值可能导致服务器退出。(错误# 21819304)

  • 重新计算生成的列表达式可能导致访问之前释放的内存和服务器退出。(错误# 21810529)

  • ST_SymDifference ()可以对具有自交点的多边形提出断言。(Bug #21767301, Bug #79031, Bug #22124757)

  • 用户审计日志插件的字段输出格式不正确。(错误# 21766380)

  • 对于A) A的查询可能会出现服务器出口集团包含主键和从键列;和b)在哪里子句在第一个主键列上包含一个相等谓词,其中该列是常量。(错误# 21761044)

  • 使用并行编译构建MySQL有时会在尝试编译时失败sql_yacc.yy之前lex_token.h已经被创造出来。(Bug #21680733, Bug #27470071, Bug #89482)

  • 启用二进制日志记录后,发出删除临时表当处于XA_IDLE状态时,会引发断言。现在一个ER_XAER_RMFAIL返回错误。

    由于修复了此问题,以前在XA_IDLE状态下成功的语句现在在ER_XAER_RMFAIL错误。跑步时——gtid-mode =,显式下降继续失败ER_GTID_UNSAFE_CREATE_DROP_TEMPORARY_TABLE_IN_TRANSACTION.(错误# 21638823)

  • 类的左侧带有子查询的查询转换为半连接的子查询可能会导致服务器退出。(错误# 21606400)

  • 并发冲洗的特权而且撤销格兰特语句可能产生一个小的时间窗口,在此期间可能发生对代理用户信息的无效内存访问,导致服务器退出。(错误# 21602056)

  • 使用与汇总在子查询中可能导致服务器退出。(错误# 21575790)

  • 对于调试构建,调用MAKE_SET ()如果将子查询作为参数,则可能在锁定表之前求值,从而引发断言。(错误# 21547779)

  • 启动服务器query_alloc_block_size在内存不足的机器上,将系统变量设置为某些负值可能导致内存不足错误。(错误# 21503595)

  • 使用卸载插件卸载daemon_example插件可能导致服务器退出。(错误# 21467458)

  • 配置与-DBUILD_SHARED_LIBS = 1导致构建错误。感谢SuSE对修正的贡献。(Bug #21387880, Bug #77647)

  • 冲洗DES_KEY_FILE日志含义重新加载DES密钥文件失败。(错误# 21370329)

  • 如果在用于计算的子查询物化的设置阶段发生错误谓词时,临时表的清理没有发生,导致Valgrind错误。(错误# 21346081)

  • 在写入错误日志时,被MySQL企业防火墙拒绝的查询被截断为512个字符。(错误# 20948270)

  • 在第二次执行准备好的语句时,可能会出现服务器退出命令指列位置的子句。(错误# 20755389)

  • 如果修改了默认数据库,重复执行准备好的语句可能导致服务器退出。(错误# 20447262)

  • mysql_plugin可能由于不对字符串操作数进行检查而退出。(错误# 20376670)

  • 在连接处理和释放表描述符期间创建临时表失败后,尝试访问现在无效的描述符可能导致服务器退出。(错误# 19918299)

  • 的类型转换失败小数值可能导致服务器退出。(Bug #19912326, Bug #20013538)

  • 插入延迟对于以字符列作为键分区且表达式需要字符集转换的表,可能导致服务器退出。(错误# 19894161)

  • 类更新视图时可能会出现服务器出口所有从主表中的索引列中进行选择的子查询上的比较运算符。(错误# 19434916)

  • 启用AddressSanitizer (ASAN)后,包含null或无效字符的触发器可能导致ASAN服务器退出。(错误# 18831513)

  • 错误的错误检查NAME_CONST ()函数可能导致服务器退出。(错误# 17733850)

  • SELinux,mysqld——初始化与一个init_file系统变量可能无法初始化数据目录。虽然在5.7.11中修复了,Fedora 23和EL6 5.7.10 RPM也进行了更新;作为*-5.7.10-2- *。rpm发布到Yum存储库。(Bug #79442, Bug #22314098, Bug #22286481)

  • 插入……重复密钥更新在作为预备语句执行时,可能导致内存泄漏。(Bug #79122, Bug #22151233)

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

  • 的结果需要存储的查询ST_AsWKB ()在临时表中可能会失败并发出错误消息。(Bug #79060, Bug #22131961)

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

  • 如果mysqld开始于——帮助选项,它创建了一个二进制日志索引文件。如果该文件位于数据目录中,并且该命令先于数据目录初始化,则初始化会由于数据目录非空而失败。(Bug #78986, Bug #22107047)

  • 空间函数的一些源文件sql目录占用过多的编译时间,需要太多的编译器内存分配。(Bug #78900, Bug #22078874)

  • 中的内部缓冲区大小resolve_stack_dump,以适应c++代码更大的符号空间需求。(Bug #78885, Bug #22071592)

  • 导致Valgrind警告的问题libmysqld被纠正。(Bug #78819, Bug #22007587)

  • 如果安装MySQL Connector/C开发RPM包,可能导致MySQL开发RPM包安装失败。(Bug #78815, Bug #22005375)

  • mysqladmin——帮助展示了旧密码命令,即使在MySQL 5.7.5中删除了该命令本身。(Bug #78774, Bug #21972941)

  • 文件名字符集用于内部使用,但是在SQL语句中引用它不会产生错误。现在他们知道了。(Bug #78732, Bug #21958734)

  • 如果生成的列使用受SQL模式影响的表达式,则表达式可能对相同的输入值产生不同的结果,这取决于当前的SQL模式。(例如,解释||运算符取决于PIPES_AS_CONCATSQL模式。)现在表达式求值使用定义列时有效的SQL模式。(Bug #78665, Bug #21929967)

  • 转换较大的十六进制值可能会产生不正确的结果,而且没有截断警告。(Bug #78641, Bug #21922414)

  • mysqlpump生成的错误ALTER TABLE用于添加外键的语句。(Bug #78593, Bug #21907297)

  • 执行帮助的陈述或陈述CONVERT_TZ ()函数可能导致内存泄漏和MyISAM服务器关闭时引用计数错误。(Bug #78443, Bug #21840241)

  • MySQL无法识别从生成的列表达式中的基列到生成的列的函数依赖性。(Bug #78377, Bug #21807579)

  • 可以将非ascii数据存储在用于存储字符集数据的列中美国信息交换标准代码.(Bug #78276, Bug #21774967)

  • 添加一个空间索引到MyISAM表可能导致其他索引的基数不正确。(Bug #78213, Bug #21789000)

  • MySQL可能在Solaris 11.3上编译失败/usr/gnu/bin/as被用作连接器。(Bug #77797, Bug #21484716)

  • 中的一些标点符号armscii8字符集由两种编码表示,其结果是使用一种编码存储的字符在使用另一种编码进行搜索时将找不到。对于这样的字符,MySQL现在选择具有最低值的编码,以一致地将实例映射到相同的编码。(Bug #77713, Bug #21441405)

  • Item_copy_decimal:复制()没有拿div_precision_increment系统变量值考虑,导致小数某些查询返回的值精度不正确。(Bug #77634, Bug #21462523)

  • 一个应该返回的聚合函数返回非隐式分组;第一部分是字符串列的索引;和一个在哪里子句带有相等比较,将列与除列值外还有尾随字符的字符串进行比较,(Bug #77480, Bug #21318711)

  • LOAD_FILE ()如果字符集是,可能导致一些路径名的服务器退出cp932.(Bug #76555, Bug #20819220)

    参考文献:参见Bug #51893。

  • 对于诸如命令numeric_expr核对collation_name,表达式的字符集被处理为latin1,如果后指定了排序规则,则会导致错误核对是不兼容的latin1.的存在时,将数值表达式隐式转换为字符表达式核对,使用的字符集是与命名排序规则相关联的字符集。(Bug #73858, Bug #20425399)