相关的文档10bet官方网站 本手册下载 本手册节选

MySQL 5.6参考手册/一般信息MySQL 5.6有什么新功能

1.3 MySQL 5.6的新功能

本节总结MySQL 5.6中已添加、已弃用和已删除的内容。配套的部分列出了MySQL 5.6中已添加、已弃用或已删除的MySQL服务器选项和变量;看到章节1.4,“MySQL 5.6中服务器和状态变量和选项的添加,弃用,或删除”

MySQL 5.6新增功能

MySQL 5.6增加了以下特性:

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

  • MySQL的企业。为了更好地兼容Oracle audit Vault,修改了审计日志插件生成的文件格式。看到第6.4.4节,“MySQL企业审计”,第6.4.4.3节“审计日志文件格式”

    MySQL企业版中包含的审计日志插件现在具有基于用户帐户和事件状态过滤审计事件的能力。几个新的系统变量为dba提供过滤控制。此外,审计日志插件的报告能力通过添加几个状态变量得到了改进。有关更多信息,请参见第6.4.4.4节“配置审计日志特征”,审计日志插件状态变量

    MySQL企业版现在包含了一组基于OpenSSL库的加密函数,在SQL级别公开OpenSSL功能。这些功能使企业应用程序能够执行以下操作:

    • 使用公钥非对称加密实现附加的数据保护

    • 创建公钥、私钥和数字签名

    • 执行非对称加解密

    • 使用加密散列进行数字签名和数据验证和验证

    有关更多信息,请参见第6.5节“MySQL企业加密”

    MySQL企业版现在包括MySQL企业防火墙,这是一个应用程序级别的防火墙,允许数据库管理员根据对接受的语句模式的允许列表的匹配来允许或拒绝SQL语句的执行。这有助于增强MySQL Server对诸如SQL注入或试图利用应用程序在其合法查询工作负载特征之外使用它们的攻击的防御能力。有关更多信息,请参见第6.4.5节,“MySQL企业防火墙”

  • 更改服务器默认值。从MySQL 5.6.6开始,MySQL Server的几个参数默认值与以前版本的默认值不同。这些更改的动机是提供更好的开箱即用性能,并减少数据库管理员手动更改设置的需要。有关更多信息,请参见第5.1.2.1节“更改服务器默认值”

  • InnoDB增强。这些InnoDB添加了增强:

    • 您可以创建全文上的索引InnoDB表,并使用匹配()……反对语法。此功能包括一个新的接近搜索操作符(@)和几个新的配置选项和INFORMATION_SCHEMA表:见第14.6.2.3节“InnoDB全文索引”为更多的信息。

    • 几个ALTER TABLE可以在不复制表、不阻塞对表的插入、更新和删除或两者都不阻塞的情况下执行操作。这些增强被统称为在线DDL.看到第14.13节“InnoDB和在线DDL”获取详细信息。

    • InnoDB现在支持数据目录= '目录条款的创建表语句,该语句允许在数据目录之外创建表。这种增强提供了在更适合服务器环境的位置创建可创建对象的灵活性。例如,可以将忙表放在固态硬盘设备上,还是大容量的表硬盘驱动器设备。

      有关更多信息,请参见14.6.1.2节“外部创建表”

    • InnoDB现在支持的是移动式表空间,允许file-per-table表空间(.ibd文件)从一个正在运行的MySQL实例中导出并导入到另一个正在运行的实例中,而不会出现由于缓冲数据、正在进行的事务和内部簿记细节(如空间ID而且LSN

      用于出口条款的刷新表命令写入任何未保存的更改InnoDB的内存缓冲区.ibd文件。后复制.ibd文件和一个单独的元数据文件到另一个服务器丢弃表空间而且导入表空间条款的ALTER TABLE语句用于将表数据导入另一个MySQL实例。

      这种增强提供了移动所驻留的表的灵活性file-per-table以便更好地适应您的服务器环境。例如,您可以将忙表移动到固态硬盘设备,或将大表移动到大容量硬盘驱动器设备。有关更多信息,请参见第14.6.1.3节“导入InnoDB表”

    • 您现在可以设置InnoDB页面大小将未压缩的表压缩为8KB或4KB,以替代默认的16KB。控件控制此设置innodb_page_size配置选项。您可以在创建MySQL实例时指定大小。所有InnoDB表空间在一个实例中共享相同的页面大小。对于某些工作负载和存储设备的组合,更小的页面大小可以帮助避免冗余或低效的I/O固态硬盘具有小块大小的设备。

    • 算法的改进自适应冲洗使I/O操作在多种情况下更加高效和一致工作负载.新的算法和默认配置值有望提高大多数用户的性能和并发性。高级用户可以通过几个配置选项微调他们的I/O响应能力。看到第14.8.3.4节“配置缓冲池刷新”获取详细信息。

    • 您可以编写MySQL应用程序访问InnoDB表通过nosql风格的API。该特性使用了流行的memcached守护进程来中继请求,例如添加,得到键-值对。这些用于存储和检索数据的简单操作避免了SQL开销,如解析和构造查询执行计划.您可以通过NoSQL API和SQL访问相同的数据。例如,您可以使用NoSQL API进行快速更新和查找,使用SQL进行复杂查询并与现有应用程序兼容。看到第14.20节,“InnoDB memcached Plugin”获取详细信息。

    • 优化器统计数据InnoDB表以更可预测的时间间隔收集,并且可以在服务器重新启动时保持,从而得到改进计划稳定.您还可以控制所做的采样量InnoDB索引,以使优化器统计数据更准确,并改进查询执行计划。看到第14.8.11.1节“配置持久优化器统计参数”获取详细信息。

    • 新的优化应用于只读交易,提高特别查询和报告生成应用程序的性能和并发性。这些优化在实际时自动应用,或者您可以指定启动事务只读确保事务是只读的。看到第8.5.3节“优化InnoDB只读事务”获取详细信息。

    • 你可以移动InnoDBundo日志出了系统表空间变成一个或多个单独的表空间.undo日志的I/O模式使这些新的表空间很适合迁移到SSD存储,同时将系统表空间保留在硬盘存储上。有关详细信息,请参见第14.6.3.3节“撤消表空间”

    • 可以提高效率InnoDB校验和特性,指定配置选项innodb_checksum_algorithm = crc32,它开启了更快的校验和算法。此选项将替换innodb_checksums选择。使用旧校验和算法写入的数据(选项值innodb)完全向上兼容;使用新的校验和算法修改的表空间(选项值crc32)不能降级到不支持的MySQL的早期版本innodb_checksum_algorithm选择。

    • InnoDB重做日志文件的最大组合大小从4GB增加到512GB。方法指定较大的值innodb_log_file_size选择。启动行为现在自动处理现有重做日志文件的大小不匹配的情况innodb_log_file_size而且innodb_log_files_in_group

    • ——innodb-read-only选项允许您以只读模式运行MySQL服务器。您可以访问InnoDB表在只读媒体上,如DVD或CD,或建立一个数据仓库与多个实例共享相同的数据目录。看到第14.8.2节“为只读操作配置InnoDB”使用的细节。

    • 一个新的配置选项,innodb_compression_level,允许您选择一个压缩水平InnoDB压缩表,从熟悉的0-9范围使用zlib.当更新操作导致页面再次压缩时,您还可以控制缓冲池中的压缩页面是否存储在重做日志中。控件控制此行为innodb_log_compressed_pages配置选项。

    • 的数据块InnoDB压缩表中包含一定量的空白空间(填充)以允许DML操作来修改行数据,而无需重新压缩新值。过多的填充会增加压缩失败的几率,当数据在大量更改后需要重新压缩时,就需要分割页面。填充的数量现在可以动态调整,这样dba就可以降低压缩失败率,而无需使用新参数重新创建整个表,或者使用不同的页面大小重新创建整个实例。相关的新配置选项为innodb_compression_failure_threshold_pctinnodb_compression_pad_pct_max

    • 几个新InnoDB相关的INFORMATION_SCHEMA的信息InnoDB的关于表、索引和外键的元数据InnoDB数据字典,以及有关性能指标的低级信息,这些信息补充了来自performance Schema表的信息。

    • 为了减轻具有大量表的系统的内存负载,InnoDB现在使用LRU算法释放与已打开表相关的内存,以选择未被访问时间最长的表。为打开的元数据保留更多的内存InnoDB表中,增加的值table_definition_cache配置选项。InnoDB将此值作为软限制中打开的表实例的数量InnoDB数据字典缓存。有关更多信息,请参阅table_definition_cache10bet官方网站文档。

    • InnoDB具有几个内部性能增强,包括通过分隔内核互斥锁减少争用、将冲洗操作从主线程移到单独的线程、启用多个清除线程以及减少大内存系统上缓冲池的争用。

    • InnoDB使用一种新的,更快的算法来检测死锁.所有的信息InnoDB死锁可以写入MySQL服务器错误日志,以帮助诊断应用程序问题。

    • 为了避免冗长的热身在重新启动服务器之后,特别是对于大型实例InnoDB缓冲池,可以在重新启动后立即将页面重新加载到缓冲池中。MySQL可以在关闭时转储一个紧凑的数据文件,然后参考该数据文件找到页面在下次重新启动时重新加载。您还可以在任何时候手动转储或重新加载缓冲池,例如在基准测试期间或在复杂的报告生成查询之后。看到第14.8.3.5节“保存和恢复缓冲池状态”获取详细信息。

    • 截至MySQL 5.6.16,innochecksum支持大于2GB的文件。在此之前,innochecksum只支持2GB大小的文件。

    • 从MySQL 5.6.16开始,新的全局配置参数,innodb_status_output而且innodb_status_output_locks,允许您动态启用和禁用标准InnoDB监控和InnoDB锁定监视器的周期输出。通过创建和删除特殊命名的表来启用和禁用定期输出的监视器已被弃用,可能会在未来的版本中删除。有关其他信息,请参见第14.17节“InnoDB监控器”

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

    • 从MySQL 5.6.42开始,zlib库与MySQL绑定的版本从1.2.3版本提升到1.2.11版本。MySQL在zlib库的帮助下实现压缩。

      如果你使用InnoDB压缩表,请参阅第2.11.3节“MySQL 5.6的变化”相关升级影响。

  • 分区。添加了以下表分区增强:

    • 最大分区数增加到8192。这个数字包括表的所有分区和所有子分区。

    • 方法,可以将分区表的分区或子分区表的子分区与具有相同结构的非分区表交换ALTER TABLE……交换分区声明。例如,这可以用于导入和导出分区。有关更多信息和示例,请参见第19.3.3节“与表交换分区和子分区”

    • 现在,对于作用于分区表的查询以及许多数据修改语句,都支持显式选择一个或多个分区或子分区。例如,假设有一个表t用某个整数列c有4个分区p0p1p2,p3.然后查询SELECT * FROM t PARTITION (p0, p1) WHERE c < 5只从分区中返回那些行p0而且p1c小于5。

      以下语句支持显式分区选择:

      有关语法,请参阅各个语句的描述。有关更多信息和示例,请参见第19.5节“分区选择”

    • 分区锁修剪通过帮助消除不受这些语句影响的分区上的锁,极大地提高了作用于具有多个分区的表的许多DML和DDL语句的性能。这样的陈述包括许多选择选择……分区更新取代插入,以及许多其他语句。有关更多信息,包括性能因此得到改进的语句的完整列表,请参见第19.6.4节“分区和锁定”

  • 性能模式。性能架构包括以下几个新特性:

    • 用于表输入和输出的仪器。仪器化操作包括对持久基表或临时表的行级访问。影响行的操作有:取、插入、更新和删除。

    • 基于模式和/或表名,按表筛选事件。

    • 线程事件过滤。为线程收集更多信息。

    • 用于表和索引I/O以及表锁的汇总表。

    • 语句和语句中的阶段的工具。

    • 在服务器启动时配置仪器和消费者,以前只能在运行时配置。

  • MySQL NDB集群。MySQL NDB集群作为一个单独的产品发布;最新的GA版本是基于MySQL 5.6和使用的7.3版本NDB存储引擎。在主线MySQL Server 5.6版本中不支持集群。有关MySQL NDB Cluster 7.3的更多信息,请参见第18章,MySQL NDB集群7.3和NDB集群7.4.目前最新的开发版本是MySQL NDB Cluster 7.4,在7.4的基础上NDB存储引擎和MySQL Server 5.6。MySQL NDB Cluster 7.4目前可用于测试和评估。最新的MySQL NDB Cluster 7.4版本可以从10bet博彩公司

    有关MySQL NDB Cluster 7.4中所做改进的更多信息和概述,请参见第18.1.4.2节“NDB集群7.4的新内容”

    MySQL NDB Cluster 7.2,之前的GA版本,基于MySQL Server 5.5,尽管我们建议新的部署使用MySQL NDB Cluster 7.3。

  • 复制和日志记录。添加了以下复制增强功能:

    • MySQL现在支持基于事务的复制全局事务标识符(也称为GTIDs).这使得当事务在初始服务器上提交时,以及当它被任何副本应用时,可以识别和跟踪每个事务。

      在复制设置中启用gtid主要是使用新的gtid_mode而且enforce_gtid_consistency系统变量。有关支持gtid而引入的其他选项和变量的信息,请参见第17.1.4.5节“全局事务ID选项和变量”

      当使用gtid时,在启动一个新的副本或故障转移到一个新的源时,不需要引用日志文件或这些文件中的位置,这极大地简化了这些任务。有关使用或不使用二进制日志文件为GTID复制提供服务器的详细信息,请参见第17.1.3.3节“使用gtid进行故障转移和扩展”

      基于gtid的复制完全基于事务,这使得检查源和副本的一致性变得简单。如果在给定源上提交的所有事务也在给定副本上提交,则可以保证两个服务器之间的一致性。

      有关MySQL Replication中gtid的实现和使用的更完整信息,请参阅第17.1.3节,“使用全局事务标识符的复制”

    • MySQL基于行的复制现在支持行映像控制。通过只记录每一行更改(而不是所有列)上唯一标识和执行更改所需的列,可以节省磁盘空间、网络资源和内存使用。属性,可以确定记录的是完整行还是最小行binlog_row_image将服务器系统变量设置为其中一个值最小的(只记录所需列),完整的(记录所有列),或者noblob(记录所有列,不需要的除外文本列)。看到二进制日志使用的系统变量,以查询更多资料。

    • MySQL服务器写入和读取的二进制日志现在是崩溃安全的,因为只有完整的事件(或事务)被记录或读取。默认情况下,服务器记录事件的长度以及事件本身,并使用这些信息来验证事件是否被正确写入。方法还可以使服务器使用CRC32校验和为事件写入校验和binlog_checksum系统变量。要使服务器从二进制日志读取校验和,请使用master_verify_checksum系统变量。的——slave-sql-verify-checksumsystem变量导致复制SQL线程从中继日志读取校验和。

    • MySQL现在支持将源连接信息和复制中继日志信息记录到表和文件中。可以独立控制这些表的使用master_info_repository而且relay_log_info_repository系统变量系统变量。设置master_info_repository表格导致连接信息记录到slave_master_info表格设置relay_log_info_repository表格导致中继日志信息记录到slave_relay_log_info表格控件中自动创建两个表mysql系统数据库。

      为了使复制对意外停止具有弹性,可以使用slave_master_info而且slave_relay_log_info表必须使用事务性存储引擎,从MySQL 5.6.6开始,这些表是使用InnoDB也是因为这个原因。(Bug #13538891)如果您使用的是之前的MySQL 5.6版本,其中这两个表都使用MyISAM,这意味着在开始复制之前,必须将它们都转换为事务性存储引擎(例如InnoDB),如果您希望复制对意外中断具有弹性。在这种情况下,您可以通过适当的ALTER TABLE……引擎=…语句。你应该尝试在复制实际运行时更改这些表所使用的存储引擎。

      看到第17.3.2节“处理副本服务器的意外停止”,以查询更多资料。

    • mysqlbinlog现在可以将二进制日志备份为原始二进制格式。的方法调用时——read-from-remote-server而且——生选项,mysqlbinlog连接到服务器,请求日志文件,并以与原始文件相同的格式写入输出文件。看到4.6.8.3节,“使用mysqlbinlog备份二进制日志文件”

    • MySQL现在支持延迟复制,这样复制服务器就会故意落后于源服务器至少指定一段时间。缺省情况下,延迟时间为0秒。使用新的MASTER_DELAY选择改变主设置延迟时间。

      延迟复制可以用于防止源上的用户错误(DBA可以将延迟副本回滚到灾难发生之前的时间),或者在出现延迟时测试系统的行为。看到第17.3.10节,“延迟复制”

    • 属性可以使具有多个网络接口的副本只使用其中一个网络接口(而不使用其他网络接口)MASTER_BIND选项时发出改变主声明。

    • log_bin_basename已添加系统变量。此变量包含二进制日志文件的完整文件名和路径。而log_bin系统变量只显示是否启用二进制日志记录,log_bin_basename方法设置的名称——log-bin服务器选项。

      类似地,relay_log_basename系统变量显示中继日志文件的文件名和完整路径。

    • MySQL Replication现在支持在副本上多线程并行执行事务。在启用并行执行时,复制SQL线程作为多个复制工作线程的协调器,这些线程的值由slave_parallel_workers服务器系统变量。副本上多线程的当前实现假设数据和更新是基于每个数据库进行分区的,并且给定数据库中的更新发生的相对顺序与在源上发生的相同。但是,不需要协调不同数据库之间的事务。事务还可以分布在每个数据库上,这意味着副本上的工作线程可以处理给定数据库上的连续事务,而无需等待对其他数据库的更新完成。

      由于不同数据库上的事务在副本上与在源上以不同的顺序发生,因此仅仅检查最近执行的事务并不能保证源上的所有以前的事务都已在副本上执行。这对使用多线程副本时的日志记录和恢复有影响。有关在副本上使用多线程时如何解释二进制日志记录信息的信息,请参见第13.7.5.35节,“SHOW SLAVE STATUS语句”

  • 优化器的改进。实现了以下查询优化器改进:

    • 优化器现在更有效地处理以下形式的查询(和子查询):

      选择……从single_table...命令non_index_column(DESC)限制(,]N

      这种类型的查询在只显示较大结果集中的少数行的web应用程序中很常见。例如:

      选择col1,…从t1……按名称订购数量限制10个;选择col1,…从t1……按兰德()限时15;

      排序缓冲区的大小为sort_buffer_size.如果排序元素为N行足够小,可以放入排序缓冲区(+N行,如果时,服务器可以避免使用归并文件,而完全在内存中执行排序。有关详细信息,请参见第8.2.1.16节“LIMIT查询优化”

    • 优化器实现了磁盘扫描多范围读取。当基表很大且没有存储在存储引擎的缓存中时,在辅助索引上使用范围扫描读取行可能会导致对基表的多次随机磁盘访问。通过磁盘扫描多范围读取(MRR)优化,MySQL试图减少用于范围扫描的随机磁盘访问的数量,方法是首先只扫描索引并收集相关行的键。然后对键进行排序,最后使用主键的顺序从基表检索行。磁盘扫描MRR的动机是减少随机磁盘访问的数量,取而代之的是对基表数据进行更有序的扫描。有关更多信息,请参见第8.2.1.10节“多范围读优化”

    • 优化器实现了索引条件下推(ICP),这是针对MySQL使用索引从表中检索行的情况进行的优化。如果没有ICP,存储引擎将遍历索引以定位基表中的行,并将它们返回给MySQL服务器在哪里行条件。启用ICP后,如果部分在哪里条件可以通过只使用索引中的字段来求值,MySQL服务器推送这部分在哪里降到存储引擎的状态。然后,存储引擎使用索引条目计算推入的索引条件,只有满足这个条件,才读取基行。ICP可以减少存储引擎对基表的访问数量,以及MySQL服务器对存储引擎的访问数量。有关更多信息,请参见第8.2.1.5节“索引条件下推优化”

    • 解释语句现在提供的执行计划信息删除插入取代,更新语句。在此之前,解释提供的资料只供选择语句。此外,解释语句现在可以生成JSON格式的输出。看到第13.8.2节,“EXPLAIN语句”

    • 中更有效地处理子查询子句(即派生表)。中的子查询的物化子句被延迟到查询执行期间需要它们的内容时,这将提高性能。此外,在查询执行期间,优化器可以向派生表添加索引,以加快从派生表中检索行的速度。有关更多信息,请参见第8.2.2.4节“优化派生表”

    • 优化器使用半连接和物化策略来优化子查询的执行。看到第8.2.2.1节,“使用半连接转换优化子查询”,第8.2.2.2节,“使用物化优化子查询”

    • 现在可以使用批处理键访问(BKA)连接算法,它既使用对已连接表的索引访问,也使用连接缓冲区。BKA算法支持内连接、外连接和半连接操作,包括嵌套的外连接和嵌套的半连接。BKA的好处包括由于更高效的表扫描而提高的连接性能。有关更多信息,请参见第8.2.1.11节“块嵌套循环和批处理键访问连接”

    • 优化器现在具有跟踪功能,主要供开发人员使用。接口是由一组optimizer_trace_xxx系统变量和INFORMATION_SCHEMA。OPTIMIZER_TRACE表格有关详细信息,请参见MySQL内部:跟踪优化器

  • 条件处理。MySQL现在支持获得诊断声明。获得诊断为应用程序提供了一种从诊断区域获取信息的标准化方法,例如前面的SQL语句是否产生了异常以及异常是什么。有关更多信息,请参见第13.6.7.3节,“GET DIAGNOSTICS语句”

    此外,在条件处理程序处理规则中的几个缺陷被纠正,这样MySQL的行为更像标准SQL:

    • 块作用域用于确定要选择的处理程序。以前,存储程序被视为具有单一的处理程序选择范围。

    • 条件优先级的解析更加准确。

    • 诊断区域清除已更改。Bug #55843导致在激活处理程序之前从诊断区域清除被处理的条件。这使得条件信息在处理程序中不可用。处理程序现在可以使用条件信息,它可以使用获得诊断声明。如果在处理程序执行期间尚未清除,则在处理程序退出时清除条件信息。

    • 以前,只要情况发生,处理程序就会被激活。现在,直到发生条件的语句完成执行,它们才被激活,这时将选择最合适的处理程序。对于引发多个条件的语句,如果在语句执行过程中稍后引发的条件比前面的条件具有更高的优先级,并且两个条件的处理程序在相同的作用域内,那么这将产生不同的结果。以前,将选择第一个引发的条件的处理程序,即使它的优先级比其他处理程序低。现在将选择优先级最高的条件的处理程序,即使它不是语句引发的第一个条件。

    有关更多信息,请参见第13.6.7.6节“处理程序的范围规则”

  • 数据类型。实现了以下数据类型更改:

  • 主机缓存。MySQL现在提供了更多关于客户端连接到服务器时发生错误的原因的信息,以及改进对主机缓存的访问,其中包含客户端IP地址和主机名信息,用于避免DNS查找。这些改变已经实施:

    • Connection_errors_xxx状态变量提供有关连接错误的信息,但不适用于特定的客户端IP地址。

    • 已向主机缓存中添加了计数器,以跟踪适用于特定IP地址的错误host_cache表公开主机缓存的内容,以便使用选择语句。对主机缓存内容的访问可以回答以下问题:缓存了多少主机、为哪些主机发生了什么类型的连接错误,或者主机错误计数距离达到max_connect_errors系统变量的限制。

    • 属性可以配置主机缓存大小host_cache_size系统变量。

    有关更多信息,请参见第5.1.11.2节“DNS查找和主机缓存”,第22.12.10.1节“host_cache表”

  • OpenGIS。OpenGIS规范定义了测试两个几何值之间关系的函数。MySQL最初实现这些函数时使用对象边界矩形,并返回与相应的基于mbr的函数相同的结果。相应的版本现在可以使用精确的物体形状。这些版本以ST_前缀。例如,包含()使用对象边界矩形,而ST_Contains ()使用对象的形状。有关更多信息,请参见第12.17.9节“测试几何对象之间空间关系的函数”

MySQL 5.6中已弃用的特性

以下特性在MySQL 5.6中已弃用;您应该期望在以后的系列中删除它们。在显示替代方案的地方,应该更新应用程序以使用它们。

对于使用MySQL 5.6中已被移除的特性的应用程序,从MySQL 5.6源复制到更高系列副本时,语句可能会失败,或者可能对源和副本产生不同的影响。为了避免这些问题,应该对使用5.6中弃用的特性的应用程序进行修订,以避免这些问题,并在可能的情况下使用替代方案。

MySQL 5.6特性删除

以下项目是过时的,已在MySQL 5.6中删除。在显示替代方案的地方,应该更新应用程序以使用它们。

对于使用了MySQL 5.6中删除的特性的MySQL 5.5应用程序,当从MySQL 5.5源复制到MySQL 5.6副本时,语句可能会失败,或者可能对源和副本产生不同的影响。为了避免这样的问题,使用MySQL 5.6中删除的特性的应用程序应该修改以避免这些问题,并在可能的情况下使用替代方案。

  • ——日志服务器选项和日志系统变量。相反,使用general_log系统变量,以启用通用查询日志和general_log_file系统变量设置一般查询日志文件名。

  • log_slow_queries系统变量。相反,使用slow_query_log系统变量,以启用慢查询日志和slow_query_log_file设置慢查询日志文件名的系统变量。

  • ——一个线程服务器选项。使用——thread_handling =没有线程代替。

  • ——安全模式服务器选项。

  • ——skip-thread-priority服务器选项。

  • ——表缓存服务器选项。使用table_open_cache系统变量。

  • ——init-rpl-role而且——rpl-recovery-rank选项,rpl_recovery_rank系统变量,和Rpl_status状态变量。

  • engine_condition_pushdown系统变量。使用engine_condition_pushdown国旗的optimizer_switch变量来代替。

  • have_csvhave_innodbhave_ndbcluster,have_partitioning系统变量。使用显示插件或查询插件表中INFORMATION_SCHEMA数据库。

  • sql_big_tables系统变量。使用big_tables代替。

  • sql_low_priority_updates系统变量。使用low_priority_updates代替。

  • sql_max_join_size系统变量。使用max_join_size代替。

  • max_long_data_size系统变量。使用max_allowed_packet代替。

  • 冲洗主而且冲洗的奴隶语句。使用重置的主人而且重置的奴隶语句代替。

  • 奴隶开始而且奴隶停止语句。使用开始的奴隶而且停止奴隶语句。

  • 显示的作者而且显示的贡献者语句。

  • 选项而且ONE_SHOT修饰符的声明。

  • 它显式地禁止为值赋值默认的存储过程或函数参数或存储程序局部变量(例如使用var_name=违约声明)。仍然允许进行分配默认的到系统变量,如前所述。

  • 大多数显示引擎innodb互斥锁输出在5.6.14中被删除。显示引擎innodb互斥锁输出在MySQL 5.7.2中被完全删除。的视图可以生成可比的信息性能模式表。