10bet网址
MySQL 5.7发行说明
相关的文档10bet官方网站 下载这些版本说明

MySQL 5.7发行说明/ MySQL 5.7.0变化(没有公布,里程碑10)

MySQL 5.7.0变化(不释放,里程碑10)

请注意

这是一个里程碑版本,使用在你的自己的风险。里程碑之间的升级版本(或从一个里程碑发布到一个通用版本)不受支持。重大发展变化发生在里程碑版本,而且您可能会遇到兼容性问题,如数据格式变化,需要关注除了通常的程序运行mysql_upgrade。例如,您可能会发现有必要把你的数据,mysqldump在升级之前,之后重新加载它。(升级前备份是一个谨慎的预防措施在任何情况下)。

弃用和删除记录

  • 微软的Windows操作系统:Windows Vista、Windows Server 2008和更新支持本地符号链接使用mklink命令。这使得数据库的MySQL服务器实现使用符号链接.sym现在删除文件冗余,因此机制。这种变化有以下影响:

诊断记录

  • MySQL现在支持堆叠诊断领域。当把诊断区域堆栈发生时,第一个(当前)诊断领域成为第二个(堆)诊断区域并创建一个新的当前诊断区域作为它的一个副本。条件处理程序中,执行语句修改当前新诊断领域,但是得到堆叠诊断可以用来检查诊断堆放区域获得的信息条件,造成了处理程序来激活,独立处理程序内的当前状况。(在此之前,有一个诊断领域。检查handler-activating条件在一个处理程序,它是必要的检查诊断区域之前执行任何语句,可以改变它。)看到GET DIAGNOSTICS语句,MySQL诊断领域

功能添加或改变

  • 重要的变化;复制:显示奴隶状态并发运行时停止奴隶需要花很长时间如果奴隶SQL执行线程中应用大更新。为了解决这个问题,一个新的非阻塞选择已添加到显示奴隶状态声明。当使用该选项时,显示奴隶状态不等待SQL或I / O的线程,但立即返回。这意味着这些线程的报告状态可能不是完全取决于日期所使用的选项。非阻塞主要目的是使用监控工具中获得立即的反应比拥有最及时的数据更重要。(错误# 15993588,错误# 67879)

  • 重要的变化;复制:添加了——幂等选择mysqlbinlog,导致MySQL服务器采用幂等模式。这导致抑制所有的重复键和key-not-found错误当处理更新从二进制日志。实际上是为当前模式mysqlbinlog客户端和客户端会话。

  • 重要的变化:插入延迟不再支持。服务器识别但忽略了延迟关键字、句柄插入nondelayed插入,并生成一个ER_WARN_LEGACY_SYNTAX_CONVERTED警告。(插入延迟不再支持。该声明是转换为插入。)。同样的,取代延迟处理nondelayed取代。的延迟关键字将在未来的版本中被删除。

    此外,一些延迟有关的选项或功能被移除:

    • ——delayed-insert选择,mysqldump

    • COUNT_WRITE_DELAYED,SUM_TIMER_WRITE_DELAYED,MIN_TIMER_WRITE_DELAYED,AVG_TIMER_WRITE_DELAYED,MAX_TIMER_WRITE_DELAYED列的table_lock_waits_summary_by_table性能模式表。

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

    • mysqlbinlog不再写评论提及插入延迟

  • 在此之前,控制+ Cmysql中断当前语句如果有一个,或者退出mysql如果不是。现在控制+ C中断当前的声明,如果有一个,或取消任何部分输入行否则,但不退出。(错误# 66583,错误# 14554568)

  • 服务器现在问题警告如果复制现有的索引创建索引,或一个错误严格SQL模式。(错误# 37520,错误# 11748842)

  • mysql_clear_password明文的客户端身份验证插件用于身份验证方案要求服务器接收在客户端,输入的密码散列。因为密码发送清晰,这个插件的上下文中应该使用一个加密的连接,如SSL连接,以避免暴露在网络上的密码。无意中使用这个插件不太可能,客户现在要求显式地启用它。可以做到这几个方面:

    • 设置LIBMYSQL_ENABLE_CLEARTEXT_PLUGIN环境变量的值开始1,Y,或y。这使所有客户端连接插件。

    • mysql,mysqladmin,mysqlslap客户程序支持——enable-cleartext-plugin选项,允许插件在每次调用的基础上。

    • mysql_options ()支持C API函数MYSQL_ENABLE_CLEARTEXT_PLUGIN选项,允许插件每个连接的基础上。同时,任何程序使用libmysqlclient和读取文件可以启用的插件包括一个选项enable-cleartext-plugin选择一个选项组中读取客户端库。

错误修复

  • 重要的变化;复制:语句涉及性能模式表不应写入二进制日志,因为这些表的内容只适用于一个给定的MySQL服务器实例,并可能有很大的不同在不同的服务器之间复制拓扑。数据库管理员可以配置(插入,更新,或删除)或冲洗(截断表单个服务器上)性能模式表而不影响他人。然而,当使用复制启用了GTIDs(见复制与全球事务标识符),对不安全的警告语句更新性能模式表被提升到错误,防止使用performance_schema和GTIDs在一起。

    类似的问题遇到了复制和系统日志表当GTIDs被启用。

    此修复介绍的概念未复制当地表。现在,当遇到一个MySQL复制表被标记为本地更新这个表将被忽略。

    这个修复定义如下表,当地不再复制:

    • 中的所有表performance_schema数据库

    • mysql.general_log

    • mysql.slow_log

    • mysql.slave_relay_log_info

    • mysql.slave_master_info

    • mysql.slave_worker_info

    使用此修复之前,语句performance_schema和其他表只列出由被标记为不安全的复制,导致在执行期间警告;然而写入二进制日志语句,不管日志格式效果。

    现有表的复制行为INFORMATION_SCHEMA数据库是没有改变的。

    有关更多信息,请参见MySQL性能模式。另请参阅MySQL服务器日志,复制元数据存储库。一般信息和慢速查询日志表,看看选择通用查询日志和慢速查询日志输出目的地。(错误# 14741537)

  • 重要的变化:以前,ExtractValue ()UpdateXML ()功能支持的最大长度为127个字符的XPath表达式作为参数提供给他们。这种限制已经被移除。(错误# 13007062,错误# 62429)

  • InnoDB:创建和修改表重复会导致内存泄漏是由于重复键错误。重复键错误发生,因为row_merge_build_indexes函数没有调用row_fts_psort_info_destroy往往不够。作为全文搜索索引创建唯一索引,唯一索引失败由于重复键错误,和全文搜索构建资源不会被释放。(错误# 14759111)

  • InnoDB:在一次在线DDL操作,重复错误可能错误地发给一个记录的关键字插入,随后更新,而表被重建。(错误# 14723456)

  • InnoDB:InnoDB IO线程内性能模式暴露了以下名称:io_handler_thread。这个修复实现了特定的键等io_read_handler_thread,io_write_handler_thread,io_ibuf_handler_thread区分InnoDB IO线程内性能模式。(错误# 14670810)

  • InnoDB:如果服务器崩溃时在一个精确的时刻ALTER TABLE操作,重建了聚集索引对于一个InnoDB表,原始表之后可能无法访问。这样一个操作的一个例子ALTER TABLE……添加主键修复保存原始表如果服务器停止在这个操作。你可能仍然需要重命名.ibd文件手动恢复原始表内容:在MySQL 5.6和更高版本,重命名# sql-ib美元new_table_id.ibdtable_name.ibd在数据库目录;MySQL 5.6之前,临时文件重命名table_name# 1# 2。(错误# 14669848)

  • InnoDB:插入数据长度为一个不同的记录InnoDB表,使用压缩可能导致服务器停止一个错误。(# 13523839,# 14554000,Bug错误# 63815,错误# 12845774,错误# 61456,错误# 12595091,错误# 61208)

  • InnoDB:这个修正地址一个断言条件会发生大气泡插入表空间时4 kb大小或一些物理页压缩表。区段不会很快的表空间分配较小的物理页面大小。(错误# 14520559)

  • InnoDB:如果一个表定义一个索引键的长度非常接近3072年的长度上限,一个表查询可能会导致一个严重的错误。(错误# 14500557,错误# 14537695)

  • InnoDB:在调试版的不匹配InnoDBPAGE_FREE列表将导致一个断言。(错误# 12701488)

  • InnoDB:在Linux系统中,某些I / O请求读或写不到请求的字节数可能会导致服务器崩溃。这个问题可能发生更频繁异步I / O请求。消息不清楚地识别什么类型的错误发生:

    InnoDB:操作系统错误数字0在文件操作。InnoDB:错误号码0意味着“成功”。

    修复,MySQL放弃之前多次重试操作。(重试的次数是定义的常数NUM_RETRIES_ON_PARTIAL_IO在源代码中,默认值10。)(错误# 11761646,错误# 54160)

  • 分区:当服务器启动——skip-partition,它应该拒绝分区表的DDL和DML语句。然而,对于删除表,服务器了.frm文件,重命名表,服务器重新命名.frm文件。(错误# 11763795)

  • 复制:mysqlbinlog没有正确的解码小数在基于行的值二进制日志。这可能导致无效值打印出来小数列。(错误# 14309019)

    引用:参见:错误# 17544169。

  • 复制:mysqlbinlog- v- v在详细模式打印,评论数据列类型,从二进制日志文件。当mysqlbinlog- v - v遇到了一列数据值列的数据类型没有更新;结果,前一列的数据类型是印刷相反,或者——如果这是显示为表的第一列的类型<一个整数>。现在在这种情况下,显示的数据类型是正确的。(错误# 14171756)

  • 复制:当使用mysqlbinlog——详细选择读一个二进制日志写的MySQL服务器使用基于行的或复合格式日志、无效的SQL可以产生当评论出现在里面BINLOG语句。这一方式可能发生当一个函数来更新数据是内部使用插入……选择声明。(错误# 12889121)

  • 复制:mysql_upgrade在掌握了复制当奴隶被运行——日志输出等于文件没有一个。(错误# 11763447)

  • 复制:发行停止奴隶造成一个假的错误从服务器读取包:失去了连接到MySQL服务器中查询消息写入错误日志。(# 12977988,# 11761457,Bug错误# 53955)

  • 复制:当一个错误发生在奴隶的SQL线程,这导致Slave_SQL_ErrorSlave_SQL_Errno显示奴隶状态显示错误的原因。通常的错误数量应该是常数ER_ *中定义的sql /分享/ errmsg.txt,错误消息应该相应的字符串。然而,在某些情况下,Slave_SQL_Errno将其他东西,而不是一个呢ER_ *号码,Slave_SQL_Error硬编码的错误消息,而不是可翻译的字符串sql /分享/ errmsg.txt。现在所有的错误显示显示奴隶状态起源于sql /分享/ errmsg.txt,如预期。(错误# 11760365,错误# 52768)

  • 微软的Windows操作系统:在微软的Windows操作系统,CMakePOSIX API不是Microsoft Windows上发现的条目被添加到CMake缓存。这减少的数量预计“未找到”错误而编译MySQL。(错误# 14790333)

  • 微软的Windows操作系统:在Microsoft Windows上,指的是一个含有无效字符表的查询将在系统搜索无效的文件名。生成的系统错误代码(ERROR_INVALID_NAME)没有被MySQL,这未知的错误将会报告给服务器日志“ERRNO: 22 -无效的论点”。MySQL现在承认这些错误和报告他们的表不存在,和它不再日志服务器错误日志。(错误# 14642248)

  • 微软的Windows操作系统:在Windows上,启动服务器——日志错误——控制台导致服务器写入日志文件但没有控制台。MySQL 5.5.3之前,这只有在发生——日志错误后被指定——控制台。现在,——控制台覆盖——日志错误无论选择这样——控制台在所有情况下产生的控制台输出。(错误# 14207773,错误# 65592)

  • 微软的Windows操作系统:可以指定一个命名管道,已经在使用。这不再是允许的,作为一个错误现在已经发出和过程将中止。后mysqld.exe开始与管道名称命名管道模式已经被不同的实例,实例是不能正常关闭时关闭命令收到了吗TCP套接字的过程。因此,mysqld.exe没有终止。(错误# 13891058,错误# 61885)

  • 微软的Windows操作系统:在Microsoft Windows API或函数调用失败mysqld.exe有时可能会报告错误代码22日而不是适当的错误代码。(错误# 11763004)

  • NDB复制:交易原始复制主应用上如果使用奴隶AO_AbortError,但交易从二进制日志没有重播。现在交易被重播日志处理的那些来自一样生活复制的主人。

    看到NdbOperation: AbortOption为更多的信息。(错误# 14615095)

  • 连接表和包含32条款返回一个空的结果。(错误# 15972635)

  • 解析器拒绝了一些法律联盟语句。(错误# 14730856)

  • 设置thread_cache_size在服务器启动一个负值导致16384比0的值。(错误# 14683107)

  • XA恢复XID不可打印字符显示的数据。现在这样的人物是十六进制编码。(错误# 14670465)

  • 在启动时没有警告如果服务器开始无效query_cache_size价值。(错误# 14576423)

  • 的返回值IS_USED_LOCK ()据报道使用错误的数据类型。(错误# 14575699)

  • 当解决外,Item_field: fix_outer_fields ()创造了新的Item_ref每执行一份事先准备好的声明中,这些必须在运行时memroot分配。memroot切换之前解决加入::导致这些被分配在声明中根,每个准备语句执行内存泄露。(错误# 14409015)

  • 激活一个存储程序处理程序不保存当前诊断堆栈。(错误# 14342913)

  • 在调试构建,杀死帮助声明导致断言。(错误# 14221840)

  • 如果一个错误发生在评估之前表达的清洗二进制日志之前声明,该声明没有中止,因为它应该和后来的断言。(错误# 14215847)

  • 为索引合并访问方法,优化器可以使一个次优选择的索引来使用。(错误# 14095506)

  • 断言可以提出如果试图打开.frm申请一个临时表失败。(错误# 13359247)

  • 事件调度器的状态是否改变了在服务器关闭,服务器可能崩溃。(错误# 13002460)

  • 当存储的定义使用的视图上()低()函数,函数调用所取代UCASE ()LCASE ()分别(如图所示的输出显示创建视图)。尽管这一事实上()低()是标准的,UCASE ()LCASE ()MySQL的同义词。这使得很难之间移动数据库MySQL和其他数据库系统。

    调用此修复上()低()在视图时不再重写存储它们的定义;相反,UCASE ()现在重写为上()在存储视图定义LCASE ()作为低(),这就增加了可移植性的观点。(错误# 12844279)

  • 访问一个查询INFORMATION_SCHEMA表子查询,试图锁定互斥对象已经锁定可能会导致服务器崩溃。(错误# 11765744)

  • 使用间隔()可以创建一个视图,但它是不可能从视图中,选择也显示显示创建视图。(错误# 11753832)

  • 检查每个记录范围优化现在用于查询条件与外部引用。(错误# 11750963)

  • 对于一个ALTER TABLE声明,重命名或更改默认值的二进制列,改变是通过使用一个表复制和不到位。(错误# 67141,错误# 14735373,错误# 69580,错误# 17024290)

  • 查询使用裁判访问字符串数据类型,裁判再次访问条件可以评估作为查询的一部分条件或下推一个索引条件存储引擎。(错误# 66983,错误# 14682735)

  • 并发执行的删除数据库和任何创建函数,创建过程,或创建事件可以写入二进制日志错误的订单,导致复制失败。(错误# 65428,错误# 14127220)

  • 一个视图上定义联盟,服务器可以创建一个无效的视图定义。(错误# 65388,错误# 14117018,错误# 72018,错误# 18405221)

  • 如果read_only启用,它还允许创建临时表。但在这种情况下,非临时具有相同名称的表也可以创建,而不应该允许的。(错误# 64992,错误# 13969578)

  • 启用会话的价值low_priority_updates没有影响的插入语句。(错误# 64892,错误# 13939940)

  • 引用没有数据库名称限定符的存储功能,而没有默认数据库导致了ER_SP_DOES_NOT_EXIST错误,而不是ER_NO_DB_ERROR。(错误# 64692,错误# 13864485)

  • 服务器拒绝客户端连接,同时执行冲洗的特权。(错误# 63178,错误# 13418619)

  • 创建一个视图与一个不正确的定义在哪里包含字符串文字和条款character_set_clientcharacter_set_connection将不同的字符集。(错误# 63094,错误# 13520710)

  • 显示创建视图如果表的视图改变失败。(错误# 61718,错误# 12762393)

  • 并发插入被封锁的选择如果插入来自在一个存储过程。(错误# 58689,错误# 11765698)

  • 一个插入……选择不必要的声明,没有行插入语句的查询缓存无效使用目标表。(错误# 50065,错误# 11757947)

  • 使用ALTER TABLE重命名表导致一个表没有名字。(错误# 49636,错误# 11757569)

  • 展示全球地位造成性能问题在繁忙的服务器上由于锁争用。(错误# 42930,错误# 11751904)

  • 插入……选择……重复关键更新加载数据并发取代太弱了一个锁,导致并发的可能性选择语句返回不一致的结果。(错误# 38046,错误# 11749055)

  • 不是从一个事件mysql.event在这些情况下表:创建事件,而事件调度器是启用;调度器是残疾人和重新启用;活动过期时间。(错误# 34804,错误# 11748012)