mysql5.7新增参数配置解释

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

1:binlog_group_commit_sync_delay

全局动态变量,单位微妙,默认0,范围:0~1000000(1秒)。

表示binlog提交后等待延迟多少时间再同步到磁盘,默认0,不延迟。设置延迟可以让多个事务在用一时刻提交,提高binlog组提交的并发数和效率,提高slave的吞吐量。


2:binlog_group_commit_sync_no_delay_count

全局动态变量,单位个数,默认0,范围:0~1000000。

表示等待延迟提交的最大事务数,如果上面参数的时间没到,但事务数到了,则直接同步到磁盘。若binlog_group_commit_sync_delay没有开启,则该参数也不会开启。


3:check_proxy_users

全局动态变量,默认关闭。

表示是否开启代理用户的功能,后面会在安全性上面会介绍。


4:default_authentication_plugin——安全

全局变量,默认 mysql_native_password,可选:sha256_password

表示用户默认的认证方式,即加密方法,后面会在安全性上面会介绍。


5:default_password_lifetime——安全

全局动态变量,默认0,范围:0~65535,单位天。

表示用户密码的过期时间,默认关闭。设置为365表示用户密码一年之后会过期。


6:disabled_storage_engines

全局变量,默认空。

表示禁止创建指定的存储引擎,如:disabled_storage_engines="MyISAM,FEDERATED",如果服务器启动开启 --bootstrap, --initialize,--initialize-insecure, --skip-grant-tables 参数,disabled_storage_engines不起作用。


7:gtid_executed_compression_period——性能

全局动态变量,默认1000,范围:0~4294967295

表示每执行多少个事务,对 mysql.gtid_executed表进行压缩,默认值为1000。


8:have_statement_timeout——性能

全局变量,默认YES

表示是语句执行超时功能是否可用,默认开启。


9:innodb_adaptive_hash_index_parts——性能

全局变量,默认8,范围1~512。

表示自适应哈希索引开始支持分区,避免之前单个索引导致的锁争用问题,默认划分成8。最大设置为512。


10:innodb_buffer_pool_chunk_size——性能

全局变量,默认128M,范围:1M~innodb_buffer_pool_size / innodb_buffer_pool_instances

表示为了支持online buffer pool resize,引入chunk的概念,每个chunk默认是128M,当我们在线修改buffer pool的时候,以chunk为单位进行增长或收缩。innodb要求buffer pool size是innodb_buffer_pool_chunk_size* innodb_buffer_pool_instances的倍数,如果不是,将会适当调大innodb_buffer_pool_size,以满足要求,因此,可能会出现buffer pool的实际分配比配置文件中指定的size要大的情况。


11:innodb_buffer_pool_dump_pct

全局动态变量,5.7.7开始默认25(百分比),之前为100(百分比)。范围:1~100(百分比)

表示控制备份buffer pool的百分比,更多的关于BP的预热可以看这篇文章。


12:innodb_default_row_format——性能

全局动态变量。5.7.9之后默认DYNAMIC,之前默认COMPACT。可选值有:DYNAMIC、COMPACT、REDUNDANT。COMPRESSED不被系统表空间支持,但可以创建普通表。可以通过show table status like 'tb'查看表的行格式。表示指定默认的 ROW_FORMAT,关于innodb各种的行格式,可以看这篇文章。


13:innodb_fill_factor

全局动态变量。默认100,范围:10~100

表示在每个b-tree页面排序索引构建期间其表空间的百分比,剩下的空间留给未来的指数增长。即当页填充比例到多少之后认为是满了。设置为100,会在页内留出1/16的空间用于未来的增长。就像innodb一个16K的页,最多会用15K,剩下的1K用来后续表索引的维护。对叶子和非叶子节点有效,对包含text、blog的溢出行无效。


14:innodb_flush_sync——性能

全局动态变量,默认为ON

表示在checkpoint的时候,不会受到innodb_io_capacity的影响


15:innodb_log_checksums——性能

全局动态变量,默认ON。

表示在写入redo log到文件之前,redo log的每一个block都需要加上checksum校验位,以防止apply损坏redo log。用CRC-32C对redo log的校验,代替了效率较低innodb_log_checksum_algorithm。


16:innodb_log_write_ahead_size:——性能

全局动态变量,默认8192,即8K,范围:512bytes~innodb_page_size,以字节为单位。

表示redo log写前的块大小。InnoDB以512字节一个block的方式对齐写入ib_logfile文件,但文件系统一般以4096字节为一个block单位。如果即将写入的日志文件块不在OS Cache时,就需要将对应的4096字节的block读入内存,修改其中的512字节,然后再把该block写回磁盘。该参数解决这个问题,当前写入文件的偏移量不能整除该值时,则补0,多写一部分数据。这样当写入的数据是以磁盘block size对齐时,就可以直接write磁盘,而无需read-modify-write这三步了。


17:innodb_max_undo_log_size——性能

全局动态变量,默认1073741824byte即1024M,范围:10M~2**64-1byte

表示限制undo log的最大值,如果超过临界值,当启用了 innodb_undo_log_truncate的话,undo会被标记为可truncate。即可开启在线收缩undo日志,但需要开启参数innodb_undo_tablespaces和innodb_undo_directory。关于日志更多信息见这篇文章。


18:innodb_page_cleaners——性能

全局变量, 5.7.7之前默认1,5.7.8之后默认4,范围:1~64

表示刷写BP脏页的线程数,5.6.2开始从master线程中独立出来,5.7.4开始支持多线程flush。这个值必须小于等于innodb_buffer_pool_instances。


19:innodb_purge_rseg_truncate_frequency——性能

全局动态变量,默认128,范围:1~128

表示控制purge回滚段的速度,undo表空间在其上有活动段的时候,无法回收。这个参数设置,每执行多少次purge之后,purge一次回滚段。


20:innodb_temp_data_file_path

全局变量,默认ibtmp1:12M:autoextend。在数据目录下生成一个ibtmp1大小12M的文件。

表示指定innodb临时表空间文件的路径、文件名和大小。所有非压缩临时表都使用同一个临时表空间,压缩的临时表会使用tmpdir指定的目录下每个表单独的数据文件。可以通过 INFORMATION_SCHEMA.INNODB_TEMP_TABLE_INFO查看更多信息。


21:innodb_undo_log_truncate——性能

全局动态变量,默认OFF。

表示是否开启在线收缩undo log。当undo log 超过innodb_max_undo_log_size定义的大小时,undo会被标记为可truncate。只对开启了undo log的分离有效,不会对共享表空间的undo log有效。即需要设置参数innodb_undo_tablespaces(>=2)和innodb_undo_logs(>=35)和innodb_undo_directory


22:internal_tmp_disk_storage_engine

全局动态变量,默认INNODB

表示内部磁盘临时表用的存储引擎,5.7.6之后默认是innodb,可选值有:innodb、myisam。


23:log_builtin_as_identified_by_password

全局动态变量,默认OFF


24:log_error_verbosity——性能

全局动态变量,默认3,范围:1~3

表示错误日志记录的信息,1:只记录error信息;2:记录error和warnings信息;3:记录error、warnings和普通的notes信息。


25:log_statements_unsafe_for_binlog——性能

全局动态变量,默认ON。

表示是否记录error code '1592′ 信息到错误日志里。error code '1592′:Unsafe statement written to the binary log using statement format


26:log_syslog——性能

全局动态变量,默认OFF

表示是否把错误日志记录到syslog(/var/log/syslog)。


27:log_syslog_facility

全局动态变量,默认daemon。

表示设备错误号写入到syslog,前提是log_syslog参数开启。


28:log_syslog_include_pid

全局动态变量,默认ON。

表示是否把服务进程的id写到syslog,前提是log_syslog参数开启。


29:log_syslog_tag

全局动态变量,默认empty。

表示标签被添加到服务器标识符中并写入到syslog在错误日志


30:log_timestamps

全局动态变量,默认UTC,可选值:UTC、SYSTEM

表示这个变量控制日志消息写入文件的时间,包括错误日志,普通日志和慢查询日志。


31:max_execution_time

全局\会话动态变量,默认0。

表示执行select语句的超时时间,默认0:不超时。


32:mysql_native_password_proxy_users

全局动态变量,默认OFF。

表示控制是否支持代理用户内置认证的插件,前提条件是check_proxy_users开启,5.7.7引入该参数。


33:ngram_token_size

全局变量,默认2。范围:1~10

表示控制innodb全文检索分词的长度,更多信息见:InnoDB全文索引:N-gram Parser


34:offline_mode——性能

全局动态变量,默认OFF。

表示server层增加了离线模式(offline mode),以便于管理员的升级维护工作。特征:在设置成离线模式后,非SUPER账户在下次请求会被断开,并报错;SUPER账户能够保持连接,并管理数据库;备库复制线程不会被中断。


35:range_optimizer_max_mem_size——性能

全局\会话动态变量,默认8388608即8M。

表示限制range 优化器的最大内存使用。0表示不限制。


36:rbr_exec_mode

会话动态变量,默认STRICT,可选值:STRICT、IDEMPOTENT

表示控制会话线程的模式:STRICT和IDEMPOTENT。IDEMPOTENT模式会忽视duplicate-key and no-key-found的错误,对于存在数据的row模式下的重放很有用,通过mysqlbinlog加 --idempotent参数。


37:require_secure_transport——安全

全局动态变量,默认OFF。

表示客户端连接到服务器是否需要使用某种形式的安全传输。如果开启,服务器只允许使用SSL的TCP/IP连接,或使用一个套接字的连接文件。服务器拒绝不安全的连接尝试,失败报错ER_SECURE_TRANSPORT_REQUIRED错误。此功能优先考虑SSL需求,如果定义了一个REQUIRE SSL的账号,启用require_secure_transport,该账号不能使用Unix套接字文件连接。


38:sha256_password_proxy_users——安全

全局动态变量,默认OFF。 

表示表示控制是否支持代理用户内置认证的插件,前提条件是check_proxy_users开启,5.7.7引入该参数。


39:show_compatibility_56

全局动态变量,5.7.8之后默认OFF。

表示从mysql5.7.6开始information_schema.global_status已经开始被舍弃,为了兼容性,此时需要打开 show_compatibility_56,否则报错:

ERROR 3167 (HY000): The 'INFORMATION_SCHEMA.GLOBAL_STATUS' feature is disabled; see the documentation for 'show_compatibility_56'


40:slave_parallel_type——性能

5.7.2开始支持,并行复制的模式。默认DATABASE,表示库级别的并行复制;LOGICAL_CLOCK:基于组提交的并行复制方式。可选值:DATABASE、LOGICAL_CLOCK

表示多线程复制的模式,5.6开始支持基于库(database)的并行复制,对于只有一个库的,效果不好。5.7开始支持基于组提交(LOGICAL_CLOCK)的并行复制,提高复制的可用性。更多信息见:MySQL 5.7并行复制实现原理与调优


41:slave_preserve_commit_order——性能

全局动态变量,默认0,可选值0、1。

表示是否需要严格保持顺序,默认值为0表示并发执行忽略顺序。对于多线程slaves,来保障事务在slave上执行的顺序与relay log中的顺序严格一致,只有当slave_parallel_workers开启时有效,此时log_bin、log_slave_updates必须开启,而且slave_parallel_type值必须为LOGICAL_CLOCK(默认值为DATABASE),如果你的事务经常是跨DB操作,那么可以考虑使用此参数限定顺序。当此参数开启时,要求任何worker线程执行事务时,只有当前事务中此之前的所有事务都执行后(被其他worker线程执行),才能执行和提交。


42:super_read_only——安全

全局动态变量,默认OFF。5.7.8之后支持的参数。

表示5.7.8之前,服务器开启read_only参数,表示只有具有super权限的账号可以更新、修改表。非super权限的用户不能修改。5.7.8之后,开启super_read_only参数,具有super权限的账号也不能更新和修改表,并且read_only会无效(受super_read_only控制)。


43:tls_version——安全

全局变量,默认TLSv1,TLSv1.1。

表示允许加密服务器的连接,值是一个逗号分隔的列表,包含一个或多个协议名称。


44:innodb_numa_interleave——性能

全局变量,默认OFF。

表示缓冲池内存的分配策略采用interleave的方式




















本文转自一个笨小孩51CTO博客,原文链接:http://blog.51cto.com/fengfeng688/1931458 ,如需转载请自行联系原作者



相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
SQL 关系型数据库 MySQL
mysql主从复制概述和配置
【10月更文挑战第22天】MySQL 主从复制是一种将主服务器的数据复制到一个或多个从服务器的技术,实现读写分离,提高系统性能和可用性。主服务器记录变更日志,从服务器通过 I/O 和 SQL 线程读取并应用这些变更。适用于读写分离、数据备份和恢复、数据分析等场景。配置步骤包括修改配置文件、创建复制用户、配置从服务器连接主服务器并启动复制进程。
|
10天前
|
SQL 存储 关系型数据库
MySQL进阶突击系列(01)一条简单SQL搞懂MySQL架构原理 | 含实用命令参数集
本文从MySQL的架构原理出发,详细介绍其SQL查询的全过程,涵盖客户端发起SQL查询、服务端SQL接口、解析器、优化器、存储引擎及日志数据等内容。同时提供了MySQL常用的管理命令参数集,帮助读者深入了解MySQL的技术细节和优化方法。
|
4月前
|
存储 SQL 关系型数据库
MySQL体系结构与配置
MySQL体系结构与配置
56 0
|
21天前
|
关系型数据库 MySQL 数据库
【赵渝强老师】MySQL的参数文件
MySQL启动时会读取配置文件my.cnf来确定数据库文件位置及初始化参数。该文件分为Server和Client两部分,包含动态与静态参数。动态参数可在运行中通过命令修改,而静态参数需修改my.cnf并重启服务生效。文中还提供了相关代码示例和视频教程。
|
1月前
|
缓存 监控 关系型数据库
如何根据监控结果调整 MySQL 数据库的参数以提高性能?
【10月更文挑战第28天】根据MySQL数据库的监控结果来调整参数以提高性能,需要综合考虑多个方面的因素
78 1
|
1月前
|
存储 SQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(1)作者——LJS[含MySQL的下载、安装、配置详解步骤及报错对应解决方法]
Mysql And Redis基础与进阶操作系列(1)之[MySQL的下载、安装、配置详解步骤及报错对应解决方法]
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
109 2
|
2月前
|
SQL 关系型数据库 MySQL
Mysql中搭建主从复制原理和配置
主从复制在数据库管理中广泛应用,主要优点包括提高性能、实现高可用性、数据备份及灾难恢复。通过读写分离、从服务器接管、实时备份和地理分布等机制,有效增强系统的稳定性和数据安全性。主从复制涉及I/O线程和SQL线程,前者负责日志传输,后者负责日志应用,确保数据同步。配置过程中需开启二进制日志、设置唯一服务器ID,并创建复制用户,通过CHANGE MASTER TO命令配置从服务器连接主服务器,实现数据同步。实验部分展示了如何在两台CentOS 7服务器上配置MySQL 5.7主从复制,包括关闭防火墙、配置静态IP、设置域名解析、配置主从服务器、启动复制及验证同步效果。
Mysql中搭建主从复制原理和配置
|
3月前
|
存储 SQL 关系型数据库
【MySQL调优】如何进行MySQL调优?从参数、数据建模、索引、SQL语句等方向,三万字详细解读MySQL的性能优化方案(2024版)
MySQL调优主要分为三个步骤:监控报警、排查慢SQL、MySQL调优。 排查慢SQL:开启慢查询日志 、找出最慢的几条SQL、分析查询计划 。 MySQL调优: 基础优化:缓存优化、硬件优化、参数优化、定期清理垃圾、使用合适的存储引擎、读写分离、分库分表; 表设计优化:数据类型优化、冷热数据分表等。 索引优化:考虑索引失效的11个场景、遵循索引设计原则、连接查询优化、排序优化、深分页查询优化、覆盖索引、索引下推、用普通索引等。 SQL优化。
597 15
【MySQL调优】如何进行MySQL调优?从参数、数据建模、索引、SQL语句等方向,三万字详细解读MySQL的性能优化方案(2024版)
|
3月前
|
关系型数据库 MySQL 数据安全/隐私保护
docker应用部署---MySQL的部署配置
这篇文章介绍了如何使用Docker部署MySQL数据库,包括搜索和拉取MySQL镜像、创建容器并设置端口映射和目录映射、进入容器操作MySQL,以及如何使用外部机器连接容器中的MySQL。
docker应用部署---MySQL的部署配置