1.4 MySQL中的新功能5.6

本节总结了MySQL 5.6中添加的内容,不推荐使用的内容和从中删除的内容。

在MySQL中添加的功能5.6

以下功能已添加到MySQL 5.6:

  • 安全改进 进行了这些安全改进:

  • MySQL企业。 审核日志插件生成的文件的格式已更改,以更好地与Oracle Audit Vault兼容。请参见第6.5.4节“MySQL企业审核”第6.5.4.3节“审核日志文件”

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

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

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

    • 执行非对称加密和解密

    • 使用加密哈希进行数字签名和数据验证和验证

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

    MySQL Enterprise Edition中包含的审核日志插件现在可以根据用户帐户和事件状态过滤审核的事件。几个新的系统变量为DBA提供了过滤控制。此外,通过添加几个状态变量,提高了审核日志插件报告功能。有关详细信息,请参见第6.5.4.4节“审核日志记录控制”第6.5.4.6.3节“审核日志插件状态变量”

    MySQL企业版现在包括MySQL企业防火墙,这是一个应用级防火墙,使数据库管理员能够基于与接受的语句模式的白名单匹配来允许或拒绝SQL语句执行。这有助于加强MySQL服务器的攻击,例如SQL注入或尝试通过在其合法查询工作负载特性之外使用它们来利用应用程序。有关详细信息,请参见第6.5.5节“MySQL企业防火墙”

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

  • InnoDB增强功能。 增加了这些InnoDB增强功能:

    • 您可以FULLTEXTInnoDB表上创建索引,并使用MATCH() ... AGAINST语法查询它们。此功能包括一个新的邻近搜索运算符(@)和几个新的配置选项和INFORMATION_SCHEMA表:有关更多信息,请参见第14.8.10节“InnoDB FULLTEXT索引”

    • 几个ALTER TABLE可以不复制表中可以执行的操作,而不会阻塞插入,更新和删除表中,或两者。这些增强功能统称为在线DDL。有关详细信息请参见第14.13节“InnoDB和在线DDL”

    • InnoDB现在支持该语句的子句,它允许您在MySQL数据目录之外的位置创建每个表的表空间(文件)。此增强功能可以灵活地在更适合您的服务器环境的位置创建文件每表表空间。例如,您可以在SSD设备上放置繁忙的表,或者在大容量HDD设备上放置大表。DATA DIRECTORY='directory'CREATE TABLEInnoDB.ibd

      有关其他信息,请参见第14.7.5节“在数据目录之外创建每个表中的表空间”

    • InnoDB现在支持“可运输表空间”的概念,允许从正在运行的MySQL实例导出文件每表表空间(.ibd文件),并导入到另一个运行的实例,而不会由缓冲数据,正在进行的事务和内部引起的不一致或不匹配记账细节,如空间IDLSN

      命令的FOR EXPORT子句FLUSH TABLE将任何未保存的更改从InnoDB内存缓冲区写入.ibd文件。复制后.ibd的文件和一个单独的元数据文件到其他服务器中,DISCARD TABLESPACE并且IMPORT TABLESPACE该子句ALTER TABLE声明被用来使表数据到一个不同的MySQL实例。

      该增强功能可以灵活地移动每个文件的表空间,以更好地适应您的服务器环境。例如,您可以将繁忙的表移动到SSD设备,或将大型表移动到大容量HDD设备。有关详细信息,请参见第14.7.6节“将每个表中的表空间复制到另一个实例”

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

    • 改进自适应冲洗算法使I / O操作在各种工作负载下更加高效和一致。新算法和默认配置值有望提高大多数用户的性能和并发性。高级用户可以通过多种配置选项来调整其I / O响应能力。有关详细信息,请参见第14.6.3.6节“微调InnoDB缓冲池冲洗”

    • 您可以InnoDB通过NoSQL风格的API编写访问表的MySQL应用程序。该功能采用了流行的memcached守护进程来中继请求,如ADDSETGET对键值对。这些用于存储和检索数据的简单操作避免了SQL开销,如解析和构造查询执行计划。您可以通过NoSQL API和SQL访问相同的数据。例如,您可以使用NoSQL API进行快速更新和查找,以及SQL用于复杂查询和与现有应用程序的兼容性。

    • 为优化统计数据InnoDB表以更可预测的时间间隔被收集,并且可以跨服务器重启坚持,以提高计划的稳定性。您还可以控制对InnoDB索引进行的抽样量,使优化程序统计信息更准确,并改进查询执行计划。有关详细信息请参见第14.6.12.1节“配置持久优化器统计参数”

    • 新的优化适用于只读事务,从而提高特定查询和报告生成应用程序的性能和并发性。这些优化将在实际应用时自动应用,或者您可以指定START TRANSACTION READ ONLY以确保事务为只读。有关详细信息,请参见第8.5.3节“优化InnoDB只读事务”

    • 您可以将InnoDB撤销日志系统表空间移动到一个或多个单独的表空间中。撤销日志的I / O模式使这些新的表空间成为移动到SSD存储的好候选者,同时将系统表空间保留在硬盘存储上。有关详细信息,请参见第14.7.7节“将InnoDB还原日志存储在单独的表空间”

    • 您可以InnoDB通过指定配置选项来提高校验和功能的效率innodb_checksum_algorithm=crc32,从而启用更快的校验和算法。此选项替换该innodb_checksums选项。使用旧校验和算法编写的数据(选项值innodb)完全向上兼容;使用新的校验和算法(选项值crc32)修改的表空间不能降级到不支持该innodb_checksum_algorithm选项的早期版本的MySQL。

    • InnoDB重做日志文件现在有512GB的最大组合大小,从4GB提高。您可以通过该innodb_log_file_size选项指定较大的值。启动行为现在会自动处理在现有的重做日志文件的大小不按指定的大小相匹配的情况innodb_log_file_sizeinnodb_log_files_in_group

    • --innodb-read-only选项允许您以只读模式运行MySQL服务器。您可以InnoDB在只读介质(如DVD或CD)上访问表,或者设置具有共享相同数据目录的多个实例的数据仓库。有关使用细节请参见第14.6.2节“将InnoDB配置为只读操作”

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

    • InnoDB压缩表中的数据块包含一定量的空白(填充),以允许DML操作修改行数据,而无需重新压缩新值。当数据确实需要在大量更改后需要重新压缩时,太多的填充可能会增加压缩失败的机会,需要进行页面拆分。现在可以动态调整填充量,以便DBA可以在不用新参数重新创建整个表的情况下或者重新创建具有不同页面大小的整个实例的情况下降低压缩失败率。innodb_compression_failure_threshold_pctinnodb_compression_pad_pct_max

    • 一些新的InnoDB-相关INFORMATION_SCHEMA表格提供了有关信息InnoDB缓冲池,对表,索引和外键元InnoDB数据字典和低级别的信息有关补充从性能架构表中的信息的性能指标。

    • 为了缓解具有大量表的系统的内存负载,InnoDB现在使用LRU算法释放与打开的表相关联的内存,以选择最长不被访问的表。要保留更多内存以保存打开InnoDB表的元数据,请增加table_definition_cache配置选项的值。InnoDB将该值视为数据字典缓存中的打开表实例数量的“软限制”InnoDB。有关其他信息,请参阅table_definition_cache文档。

    • InnoDB有几个内部性能增强,包括通过拆分内核互斥体来减少争用,将主线程的刷新操作移到单独的线程,启用多个清除线程,并减少大内存系统上缓冲池的争用。

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

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

    • 从MySQL 5.6.16起,innochecksum为大于2GB的文件提供支持。以前,innochecksum仅支持大小为2GB的文件。

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

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

  • 分区。 添加了这些表分区增强功能:

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

    • 现在可以使用非分区表交换子分区表的子分区或子分区表的子分区,否则表中使用该语句具有相同的ALTER TABLE ... EXCHANGE PARTITION结构。这可以用于例如导入和导出分区。有关更多信息和示例,请参见第19.3.3节“使用表交换分区和子分区”

    • 现在,对查询以及作用于分区表的许多数据修改语句支持显式选择一个或多个分区或子分区。例如,假定一个表t与一些整数列c有4个分区命名p0p1p2,和p3。那么查询SELECT * FROM t PARTITION (p0, p1) WHERE c < 5从分区仅返回那些行p0p1用于其c小于5。

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

      有关语法,请参阅各个语句的说明。有关其他信息和示例,请参见第19.5节“分区选择”

    • 分区锁定修剪通过帮助消除不受这些语句影响的分区上的锁,大大提高了许多执行多个分区的表的DML和DDL语句的性能。这些陈述包括许多SELECTSELECT ... PARTITIONUPDATEREPLACEINSERT,以及许多其他的语句。有关更多信息,包括其性能得到改善的语句的完整列表,请参见第19.6.4节“分区和锁定”

  • 性能模式 性能模式包括几个新功能:

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

    • 按表的事件过滤,基于模式和/或表名。

    • 线程事件过滤收集有关线程的更多信息。

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

    • 语句中的语句和阶段的仪器。

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

  • MySQL NDB群集。 MySQL NDB Cluster作为单独的产品发布;最新的GA版本基于MySQL 5.6,并使用版本7.3的NDB存储引擎。主流MySQL Server 5.6版本中不提供群集支持。有关MySQL NDB Cluster 7.3的更多信息,请参见第18章,MySQL NDB Cluster 7.3和NDB Cluster 7.4。最新的开发版本是MySQL NDB Cluster 7.4,基于版本7.4的NDB存储引擎和MySQL Server 5.6。MySQL NDB Cluster 7.4目前可用于测试和评估。最新的MySQL NDB集群7。

    有关MySQL NDB Cluster 7.4中的更多信息和改进概述,请参见第18.1.4.2节“NDB Cluster 7.4中的新增功能”

    MySQL NDB Cluster 7.2,以前的GA版本,基于MySQL Server 5.5,仍然可以在生产中使用,尽管我们建议新的部署使用MySQL NDB Cluster 7.3。有关MySQL NDB Cluster 7.2的更多信息,请参阅MySQL NDB Cluster 7.2

    MySQL NDB Cluster 7.1仍然可用和支持(尽管我们建议新的部署使用最新的GA版本系列,目前是MySQL NDB Cluster 7.3)。NDB群集的这些版本基于MySQL Server 5.1,并记录在MySQL 5.1手册中;有关详细信息,请参阅https://dev.mysql.com/doc/refman/5.1/en/mysql-cluster.html。

  • 复制和记录。 添加了这些复制增强功能:

    • MySQL现在使用全局事务标识符(也称为“GTIDs”)支持基于事务的复制。这使得可以在每个事务在始发服务器上提交时识别和跟踪每个事务,并且由任何从属方应用。

      主要使用新的--gtid-mode--enforce-gtid-consistency服务器选项来实现复制设置中GTID的启用。有关支持GTID的其他选项和变量的信息,请参见第17.1.4.5节“全局事务ID选项和变量”

      当使用GTID时,在启动新的从站或故障切换到新主站时,不需要引用这些文件中的日志文件或位置,这大大简化了这些任务。有关使用或不参考二进制日志文件进行GTID复制配置服务器的更多信息,请参见第17.1.3.3节“将GTID用于故障转移和标量化”

      基于GTID的复制是完全基于事务的,这使得检查主机和从站的一致性变得简单。如果在给定的主服务器上提交的所有事务也都在给定的从服务器上提交,则两个服务器之间的一致性将得到保证。

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

    • 基于MySQL行的复制现在支持行图像控制。通过记录每个行的每行(而不是所有列)唯一标识和执行更改所需的列,可以节省磁盘空间,网络资源和内存使用量。您可以通过将binlog_row_image服务器系统变量设置为其中一个值minimal(仅限日志所需列),full(记录所有列)或noblob(记录除了不需要的列BLOBTEXT列之外的所有列)来确定是否记录完整行或最小行。

    • 由MySQL服务器编写和读取的二进制日志现在是崩溃安全的,因为只记录或回读完整的事件(或事务)。默认情况下,服务器记录事件的长度以及事件本身,并使用此信息来验证事件是否正确写入。您还可以通过设置binlog_checksum系统变量,使服务器为使用CRC32校验和的事件编写校验和。要使服务器从二进制日志读取校验和,请使用master_verify_checksum系统变量。--slave-sql-verify-checksum

    • MySQL现在支持将主连接信息和从属中继日志信息记录到表和文件。可以通过--master-info-repository--relay-log-info-repository服务器选项独立地控制这些表的使用。设置--master-info-repositoryTABLE原因的连接信息在记录slave_master_info表;设置--relay-log-info-repositoryTABLE使继电器日志信息记录到slave_relay_log_info表中。这两个表都是在mysql系统数据库中自动创建的。

      为了使复制能够弹性到意外的停止,表slave_master_infoslave_relay_log_info表必须每个都使用事务存储引擎,并从MySQL 5.6.6开始,这些表是InnoDB为此而创建的。(错误#13538891)如果您使用之前的这两个表使用的MySQL 5.6版本MyISAM,这意味着,在开始复制之前,您必须将它们两者转换为事务性存储引擎(如InnoDB),如果您希望复制能够弹性到意想不到的停止。ALTER TABLE ... ENGINE=...您可以通过适当的声明在这种情况下做到这一点。复制实际运行时,不应尝试更改这些表中使用的存储引擎。

      有关详细信息,请参见第17.3.2节“处理复制从站的意外停止”

    • mysqlbinlog现在有能力以原始的二进制格式备份二进制日志。当使用--read-from-remote-server--raw选项调用时,mysqlbinlog连接到服务器,请求日志文件,并以与原件相同的格式写入输出文件。请参见第4.6.8.3节“使用mysqlbinlog备份二进制日志文件”

    • MySQL现在支持延迟复制,使得从属服务器故意滞留在主服务器上至少一段指定的时间。默认延迟为0秒。使用新MASTER_DELAY选项CHANGE MASTER TO设置延迟。

      延迟复制可以用于保护主机上的用户错误(DBA可以将延迟的从站回滚到灾难发生之前的时间)或测试系统在滞后时的行为。请参见第17.3.10节“延迟复制”

    • 现在可以使具有多个网络接口的复制从属单元MASTER_BIND在发布CHANGE MASTER TO语句时使用该选项来仅使用其中一个(排斥其他)。

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

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

    • MySQL复制现在支持并行执行从站上的多线程事务。当启用并行执行时,从SQL线程用作由slave_parallel_workers服务器系统变量的值确定的多个从属工作线程的协调器。在从机上执行多线程的当前实现假定数据和更新在每个数据库的基础上进行分区,并且给定数据库中的更新以与在主机上相同的相对顺序进行。但是,不需要协调不同数据库之间的交易。

      由于在不同数据库上的事务可能以与主机不同的顺序发生,所以只需检查最近执行的事务就不能保证主机上的所有以前的事务都在从机上执行。这对使用多线程从站时的日志记录和恢复有影响。有关在从站上使用多线程时如何解释二进制日志信息的信息,请参见第13.7.5.35节“显示从属状态语法”

  • 优化器增强。 这些查询优化器的改进已经实现:

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

      SELECT ... FROM 
      single_table
      ... ORDER BY 
      non_index_column
      [DESC] LIMIT [ 
      M
      ,] 
      N
      ;
      

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

      SELECT col1,... FROM t1 ... ORDER BY name LIMIT 10;
      
      SELECT col1,... FROM t1 ... ORDER BY RAND()LIMIT 15;
      

      排序缓冲区的大小为sort_buffer_size。如果N行的排序元素足够小以适应排序缓冲区(如果指定了M+NM),则服务器可以避免使用合并文件并完全在内存中执行排序。有关详细信息,请参见第8.2.1.16节“限制查询优化”

    • 优化器实现磁盘扫描多范围读取。在次级索引上使用范围扫描读取行可能会导致在表格较大并且未存储在存储引擎的高速缓存中时对基表进行多次随机磁盘访问。通过磁盘扫描多范围读取(MRR)优化,MySQL尝试通过首先扫描索引并收集相关行的密钥来减少范围扫描的随机磁盘访问次数。然后对密钥进行排序,最后使用主键的顺序从基表检索行。磁盘扫描MRR的动机是减少随机磁盘访问的次数,从而对基表数据进行更顺序的扫描。有关更多信息,请参见第8.2.1.10节“多范围读取优化”

    • 优化器实现索引条件下推(ICP),这是MySQL使用索引从表中检索行的情况的优化。没有ICP,存储引擎遍历索引以定位基表中的行,并将它们返回给WHERE评估行的条件的MySQL服务器。启用ICP,如果WHERE可以通过仅使用索引中的字段来评估条件的WHERE某些部分,则MySQL服务器将这部分条件推送到存储引擎。然后,存储引擎通过使用索引条目来评估推送的索引条件,并且只有当这样被满足时才能读取基本行。ICP可以减少存储引擎对基表的访问次数以及MySQL服务器对存储引擎的访问次数。有关更多信息,请参见第8.2.1.5节“索引条件下推优化”

    • EXPLAIN语句现在提供了执行计划的信息DELETEINSERTREPLACE,和UPDATE语句。以前,EXPLAIN仅为SELECT报表提供信息。此外,该EXPLAIN语句现在可以生成JSON格式的输出。请参见第13.8.2节“解释语法”

    • 优化器可以更有效地处理子句中的FROM子查询(即派生表)。子查询中的FROM子查询的实现被推迟到查询执行期间需要其内容,从而提高性能。另外,在查询执行期间,优化器可以向派生表添加一个索引,以加速行的检索。有关更多信息,请参见第8.2.2.3节“优化派生表”

    • 优化器使用半连接和物化策略来优化子查询执行。请参见第8.2.2.1节“使用半连接变换优化子查询”第8.2.2.2节“使用实现优化子查询”

    • 现在可以使用批量密钥访问(BKA)连接算法,它使用对连接的表和连接缓冲区的索引访问。BKA算法支持内连接,外连接和半连接操作,包括嵌套外连接和嵌套半连接。BKA的优点包括通过更有效的表扫描来提高连接性能。有关更多信息,请参见第8.2.1.11节“嵌套循环和批次密钥访问连接”

    • 优化器现在具有跟踪功能,主要供开发人员使用。该接口由一组系统变量和表提供。有关详细信息,请参阅MySQL内部:跟踪优化程序optimizer_trace_xxxINFORMATION_SCHEMA.OPTIMIZER_TRACE

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

    此外,条件处理程序处理规则中的几个缺陷已得到纠正,以使MySQL行为更像标准SQL:

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

    • 条件优先级更准确地解决。

    • 诊断区域清除已更改。错误#55843导致处理条件在激活处理程序之前从诊断区域清除。这使处理程序中的条件信息不可用。现在条件信息可用于处理程序,它可以使用GET DIAGNOSTICS语句进行检查。当处理程序退出时,条件信息被清除,如果在处理程序执行期间尚未清除。

    • 以前,处理程序在病情发生后立即被激活。现在,直到出现条件的语句完成执行为止,它们才被激活,此时选择最合适的处理程序。如果在语句执行期间稍后提出的条件比较早的条件具有更高的优先级,并且在两个条件的同一范围内都有处理程序,则这可能会对引发多个条件的语句产生影响。以前,引用的第一个条件的处理程序将被选择,即使它的优先级低于其他处理程序。

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

  • 数据类型 这些数据类型更改已经实现:

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

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

    • 已将计数器添加到主机缓存中以跟踪适用于特定IP地址的错误,并且新的“host_cache性能模式”表公开主缓存的内容,以便可以使用SELECT语句检查。访问主机缓存内容使得可以回答诸如主机被缓存多少,哪些主机发生什么类型的连接错误,或主机错误计数达到max_connect_errors系统变量限制的问题。

    • 主机缓存大小现在可以使用host_cache_size系统变量进行配置。

    有关更多信息,请参见第8.12.5.2节“DNS查找优化和主机缓存”,以及第22.11.10.1节“host_cache表”

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

MySQL 5.6中已弃用的功能

以下功能在MySQL 5.6中已被弃用,可能会在将来的系列中被删除。在显示替代品的情况下,应更新应用程序以使用它们。

MySQL中删除的功能5.6

以下项目已过时,已在MySQL 5.6中删除。在显示替代品的情况下,应更新应用程序以使用它们。

  • --log服务器选项和log系统变量。而是使用该--general_log选项启用常规查询日志和该选项来设置常规查询日志文件名。--general_log_file=file_name

  • --log-slow-queries服务器选项和log_slow_queries系统变量。而是使用该--slow_query_log选项来启用慢查询日志和选项来设置慢查询日志文件名。--slow_query_log_file=file_name

  • --one-thread服务器选项。使用--thread_handling=no-threads来代替。

  • --safe-mode服务器选项。

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

  • --table-cache服务器选项。改用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系统变量。使用SHOW PLUGINS或查询数据库中的PLUGINSINFORMATION_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来代替。

  • FLUSH MASTERFLUSH SLAVE语句。改用RESET MASTERandRESET SLAVE语句。

  • SLAVE STARTSLAVE STOP语句。使用START SLAVESTOP SLAVE语句。

  • SHOW AUTHORSSHOW CONTRIBUTORS语句。

  • OPTIONONE_SHOT修饰符SET声明。

  • 显然不允许将值分配DEFAULT给存储过程或函数参数或存储的程序局部变量(例如使用语句)。如前所述,仍然允许分配给系统变量。SETvar_name= DEFAULTDEFAULT

  • 大多数SHOW ENGINE INNODB MUTEX输出在5.6.14中被删除。SHOW ENGINE INNODB MUTEX输出完全在MySQL 5.7.2中删除。可以通过在性能模式表上创建视图来生成可比较的信息。

results matching ""

    No results matching ""