MySQL 8 那些新来的参数,给那些快被淘汰的MYSQL DBA

embedded/2024/11/14 11:53:02/

开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, Oceanbase, Sql Server等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,(共2200人左右 1 + 2 + 3 + 4 +5) 新人奖直接分配到5群,另欢迎 OpenGauss 的技术人员加入。

ec662f6611709822232c7549dcb3ca25.png

MySQL 8 已经有很长一段时间提供生产服务器,可还有不少企业在使用MYSQL 5.7 设置5.6 等版本的MYSQL 系统,且不少的MYSQL的DBA 对于MYSQL 的知识还停留在MYSQL5.7并不愿意将知识更新到MYSQL8  ,MYSQL知识快速更新的过程中淘汰这样的DBA 是容易的事情。后面这个可能会做一个系列,不断对比MYSQL5.6 5.7 和 MYSQL8.0 之间的差异,今天我们来说说mysql 8 的一些与核心有关在MYSQL8 变动的系统变量和参数。

我们将这些参数根据版本来进行划分,这里我们逐条分析

innodb_temp_tablespaces_dir (8.0.13)

innodb_log_checkpoint_fuzzy_now (8.0.13)  不建议调节

innodb_fsync_threshold (8.0.13)

innodb_parallel_read_threads (8.0.14)

innodb_buffer_pool_in_core_file ( 8.0.14 )  不建议调节

innodb_spin_wait_pause_multiplier (8.0.16)  

innodb_redo_log_archive_dirs (8.0.17)

innodb_idle_flush_pct (8.0.18)

innodb_doublewrite_batch_size (8.0.20)

innodb_doublewrite_dir (8.0.20)

innodb_doublewrite_files (8.0.20)

innodb_doublewrite_pages (8.0.20)

innodb_fsync_threshold (8.0.13)

我们先从这个参数说起,在数据从MySQL到磁盘中是间隔着,操作系统的缓存的,而如果系统有缓存,缓存是多长时间进行数据的刷新是一个问题,默认的情况下参数为0 ,默认的情况下是数据文件完整的在系统缓存中存在后,才能进行数据的刷新到磁盘的工作,而在一些大的数据文件产生的时候,如果能挑战触发的阈值让刷新更频繁的进行,有利于降低IOPS 的瞬时的高度。

这里单位的字节,而且这个值需要在磁盘系统较差的系统中进行调节,调节可以进行多次的调节,找到合适的值,比如100MB  开始,逐步增加。

innodb_temp_tablespaces_dir

这个变量的出现,说明MySQL 开始在对自己临时表产生的位置进行变化,为提高系统的性能在这方面提供了可能性,并且这部分的变化后在8.016 还进行更大的变化,在你设置后,并重启MYSQL 将临时表的表空间设置到你指定的磁盘位置和目录。

innodb_parallel_read_threads 

从MySQL 8.014开始,MySQL开始针对之前大家吐槽的查询的效率的问题,进行变动,这个参数就是要进行相关的工作,在查询中对于主键的读取的并行度可以开始调节,这里范围在 1 -256 默认为4 ,在读取主键的时候会有更多的并行读取的,在扫描这些数据的时候,会将其读入到缓冲区页面被保存在LRU列表的尾部,方便在空闲的时候将这些数据进行抛弃。

并且在这个版本中发现一些问题,并在8.017版本对这个部分进行了修整,当读取的线程达到 256 ,以客户端链接线程作为一个评价,当到达这个值,则这个并行度的值会自动失效,读取将还以单线程为准。

innodb_spin_wait_pause_multiplier 

在之前MYSQL 有一个innodb_spin_wait_delay来对于自旋锁的轮训之间的最大间隔进行调节的参数,在8.016 这里对于之前的参数的灵活性进行变动,之前没有这个参数 innodb_spin_wait_delay 进行延迟是执行的PAUSE 是写死的,而这个参数给了1-100的选择,也就是之前的参数需要乘以这个参数后,得到具体的自旋锁等待的时间。默认这里是50 

innodb_redo_log_archive_dirs

在8.017 的MySQL 开始对于物理数据库的副本进行了改动,怎么快速产生一个MYSQL的副本,而不是在用BINLOG 来进行工作,这是一个MYSQL 不被当成一个数据库业界在数据副本产生时,不作为一个笑柄的开始,所以要针对redo log进行留存,为后续的一些可能性做前期的铺垫。

innodb_idle_flush_pct  

在8.018 这个值的出现,说明对于MYSQL来说,系统性能尤其在数据刷新方面的优化还在进行,这个值就是为了在数据库空闲期间控制磁盘刷新的比率的,默认是100,当设置低于100,将会降低数据刷新脏页的百分比,这里不建议不了解的情况下对这个值进行变动。变动会导致突发情况丢失数据的可能性。

接下来在8.020 针对一直吐槽的 dw 进行了一些参数的提出

innodb_doublewrite_batch_size 

innodb_doublewrite_dir 

innodb_doublewrite_files 

innodb_doublewrite_pages 

innodb_doublewrite_dir 

innodb_doublewrite_files

这两个参数一看就可以看出是针对DW的文件的位置和文件进行配置,提DW文件的灵活性。

而innodb_doublewrite_batch_size 和 innodb_doublewrite_pages  算是一体的,通过对于innodb_doublewrite_pages 参数的状态来监控,发现刷新的页面数量的多少来判断是否有必要对于 innodb_doublewrite_batch_size  进行调整,举例你发现当 innodb_doublewrite_pages 待写的pages 如果数量每次查看都较大,就可以提高 innodb_doublewrite_batchsize 的数量提高双,写机制的效率。这个数值调节在0.256 ,默认为0 提高数值可以刷新的,但需要考虑具体的实际情况,尝试调节,不建议一开始就调节成较大的数值。

c8588c92ef5d836eda12247627f62db5.png


http://www.ppmy.cn/embedded/6977.html

相关文章

112 arcpy 发布 mxd地图文件 到 arcgis服务器 为 地图服务

前言 此文档主要是记录一下 最近的一次机遇 arcpy 来发布 地图文件到 arcgis服务器 上面 arcpy 主要是来自于 ArcGIS_Desktop_105_154030.zip 安装之后会在 python 的安装目录 安装另外的一份带 arcgis 的 python 环境, 然后 本文相关类库 也是基于 这个 arcpy 的 python 环境…

基于httpd和lvs的dr模式简单测试

lvs主机:192.168.50.154 httpd主机:192.168.50.157 192.168.50.156 (ip需要在同一网段) 虚拟ip:192.168.50.183 前提准备: lvs安装: yum install ipvsadm -y lsmod|grep ip_vs modprobe ip_vs …

exceljs库实现excel表样式定制化

概览 xlsx 是前端最热门的 Excel 导出方案,又叫做 SheetJs,默认不支持修改 Excel 的样式。而exceljs库就可以做到自定义excel表样式,下面来介绍一下其使用方法 一. 完整示例 代码示例 const exportTemplate2 () > { // 创建工作簿 …

webpack源码分析——enhanced-resolve库之cdUp函数

一、 cdUp函数 函数功能 该函数寻找上层目录,每次调用函数时对输入的路径进行一次寻找上级目录。如果没有找到返回null 二、函数分析 传入的directory判读是否为‘/’如果是直接返回nullif (directory "/") return null;获取‘/’和‘\’在directory 中…

Python基于循环神经网络的情感分类系统设计与实现,附源码

博主介绍:✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇&#x1f3…

stm32中的中断优先级

在工作中使用到多个定时器中断,由于中断的中断优先级不熟悉导致出错,下面来写一下中断的一些注意事项。 一、中断的分类 1、EXTI外部中断:由外部设备或外部信号引发,例如按键按下、外部传感器信号变化等。外部中断用于响应外部事件,并及时处理相关任务。 2、内部中断:…

9月BTE第8届广州国际生物技术大会暨展览会,全媒体聚焦下的高精尖行业盛会

政策春风助力,共迎大湾区生物医药行业50亿红利 今年3月“创新药”首次写入国务院政府工作报告之后,广州、珠海、北京多地政府纷纷同步出台了多项细化政策,广州最高支持额度高达50亿元,全链条为生物医药产业提供资金支持&#xff…

Spring之CGLIB和JDK动态代理底层实现

目录 CGLIB 使用示例-支持创建代理对象,执行代理逻辑 使用示例-多个方法,走不同的代理逻辑 JDK动态代理 使用示例-支持创建代理对象,执行代理逻辑 ProxyFactory 如何自动在CGLIB和JDK动态代理转换 使用示例-使用CGLIB代理方式 使用示…