百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

MySQL 5.7 学习: 配置参数(mysql 配置参数调优)

zhezhongyun 2025-05-02 14:50 28 浏览

背景:

继上次介绍 初识 MySQL 5.6 新功能、参数完之后,刚好MySQL 5.7又GA了,在官方测试里看到,MySQL5.7在功能、性能、可用性、安全和监控上又提升了很高。现在看看和MySQL5.6对比,看多了哪些参数:(后续不定时更新

参数:

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

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

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

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

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

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

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

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

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

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

全局变量,默认空。

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

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

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

全局变量,默认YES

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

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

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

全局变量,默认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要大的情况。

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

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

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

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

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

全局动态变量,默认为ON

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

全局动态变量,默认ON。

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

全局动态变量,默认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这三步了。

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

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

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

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

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

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

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

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

全局动态变量,默认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

全局动态变量,默认INNODB

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

全局动态变量,默认OFF

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

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

全局动态变量,默认ON。

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

全局动态变量,默认OFF

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

全局动态变量,默认daemon。

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

全局动态变量,默认ON。

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

全局动态变量,默认empty。

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

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

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

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

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

32:mysql_native_password_proxy_users

全局动态变量,默认OFF。

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

全局变量,默认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参数。

全局动态变量,默认OFF。

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

全局动态变量,默认OFF。

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

全局动态变量,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'

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

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

全局动态变量,默认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线程执行),才能执行和提交。

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

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

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

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

...

关于一些其他的变量,可以参考:innodb 5.7.11 版本 所有变量记录

相关推荐

Win10全新版本速览 全新图标设计焕然一新

来源:太平洋电脑网[PConline资讯]原定于今年下半年发布的Win1021H2(SunValley),再有几个月就要与我们见面了。之前我们已经陆续介绍过新版在开始菜单、窗口动效、通知中心等方...

第四周B组最佳选手Icon:陨落天团的小将,还是重生星球的偶像?

B组本来被认为是死亡之组,但在上周的异组对抗赛中,实力较强的几只队伍却先后被A组击沉,反而是之前一分难求的OMG2:1战胜了IG,其中Icon功不可没,两次秀翻全场的妖姬和与Juejue中野联动的实力...

系统小技巧:不花一分钱 让声音再大些

有时,笔记本扬声器的音量可能无法满足我们对声音播放的需求。点击系统托盘的小喇叭图标,音量调节滑动条调整到最大也无效,而添置大功率扬声器又不是我们所愿。这时,可通过调整系统本身的设置或利用第三方软件来解...

DNF手游:70级毕业搭配曝光!需集齐四类装备,别指望无形升级了

随着dnf手游7.16版本的临近,各种70级装备的消息满天飞,真真假假难以辨别,但只要以“发布会爆料”为核心,主播十四的爆料为辅,就能确定70版本的毕业标准搭配,查理策划是打算“集百家之长”于一身,完...

学会这5个电脑设置 可解决99%的故障

现阶段复工大家都是宅家办公吧,所以电脑可谓是大救星,因为无论是“停课不停学”的网课,还是在家办公的穷社畜,都离不开电脑。所以今天小编就来教大家几招电脑的自救方法,让你可以在电脑出问题时从容面对,足不出...

LOL:上单腕豪的取胜之道——掌控自身优势,融合装备特效

01前言腕豪这个英雄,在11.9版本之前都没有太多的出场机会,即使出现也大多是在辅助位置上,充当开团、先手控制的角色。但是在11.9版本以后,这个英雄突然之间仿佛飞升了一般,直接冲上T1级别上单,之前...

英雄联盟手游:一篇文章读懂所有龙buff属性效果,还不赶紧收藏

英雄联盟手游采用也是经典峡谷地图,看起来和端游并没有太大差异,但实际上为了适应手游节奏,官方也是进行了适当调整,所以包括红蓝buff,大龙小龙buff效果会有一定的差异,现在就来看看小龙和大龙具体属性...

双击打不开怎么办?双击文件夹显示属性的解决办法

今天小编在双击文件夹的时候,就是打不开,还弹出“属性”对话框,不知道大家有没有出现过,为避免出现这种情况时大家束手无策,今天小编就来为大家分享一下解决方法。1.检查键盘,看看“Alt”键是否卡住。由于...

柜子布局好超省空间,1㎡当10㎡用,收纳涨5倍!户型图直接抄

柜子不嫌多,就怕你家放不下!▼每个空间几乎都需要柜子客厅要有电视柜,卧室要能放下全家四季的衣柜,厨房还需要大容量的橱柜空间就这么小,想要榨出放柜子的地方,还要活得不拥挤简直太难了!其实全是你找错地方打...

制作幻灯片的另类方法(然后制作幻灯片)

如果提到制作幻灯片,很多人都会想到PowerPoint。PowerPoint提供了很多模板,但这些模板实用性并不太高;PowerPoint的交互还算比较方便,但不可否认,交互显得有些呆板,而且要想修改...

《心灵杀手重制版》画面晃动怎么办?画面晃动解决办法

针对《心灵杀手重制版》画面晃动的问题,以下是一些解决办法:修改游戏启动路径:打开游戏所在的文件夹,找到游戏图标的属性并打开。在属性中修改启动路径,加入“-noblur”参数。例如,如果游戏安装在“X:...

win10网络图标是小地球怎么办(excel表格怎样选定区域打印)

win10系统右下角的网络图标突然变成地球图标,而且无法上网,提示无法连接到Internet。出现这个问题多数是因为win10正式版更新了或者是网络中断后遗症。那么win10网络图标变成地球怎么办呢?...

重看电脑任务栏的使用方法:windows 10小贴士

【环球科技综合报道】据日本Livedoor新闻网2月18日报道,windows电脑的屏幕下方配置的任务栏由于总是在电脑桌面上显示,可以说是一个映入眼帘的机会格外多的区域。像是把经常使用的软件图标设置在...

《地狱之门》攻略:四大元素属性介绍

《地狱之门》是近期比较看好的一款卡牌手游,绚丽的3D游戏画面以及创新的即时战斗系统给人耳目一新的感觉,非常值得一试。玩家不仅可以体验到卡牌收集的乐趣,更主要的是能体验到酣畅淋漓的战斗体验。下面小编就来...

一脸懵?DNF希洛克词条赋予属性触发条件解析

DNF希洛克已经开放两天,但是还是看到不少小伙伴对于希洛克词条赋予系统充满疑惑。今天就来简单易懂的给大家科普一下希洛克词条赋予系统里的弯弯绕绕。◎希洛克装备融合在希洛克获取了专属史诗之后,即可通过歌兰...