首页 > 数据库 >MySQL8.0.30在线调整redo log

MySQL8.0.30在线调整redo log

时间:2023-08-04 23:04:18浏览次数:42  
标签:文件 log redo 30 innodb MySQL8.0 日志 REDO

测试验证

MySQL8.0.30版本带来一个与 REDO日志文件有关的新特性:在线调整 REDO日志文件的大小,在一定程度上简化了运维的工作量。一台 MySQL实例部署完后REDO日志文件大小一般不会保持默认值,DBA会根据数据的写入量以及频率来调整其为合适的值,与业务匹配的REDO日志文件大小能让数据库获得最佳的性能。下面对MySQL 8.0.30之前以及之后的版本,对比 REDO日志文件的更改过程,验证这个新特性。

一、MySQL8.0.30版本之前修改redo大小,以MySQL5.7版本为例

假设需要更改redo大小为500M,步骤如下:

1.REDO日志文件的更改涉及两个参数:其最终大小是这两个参数的值相乘。

1)innodb_log_files_in_group: REDO日志磁盘上的文件个数,默认为2。

2)innodb_log_file_size: REDO 日志磁盘上单个文件的大小,默认为48M。

3)当前的日志大小为单个48M,两个组,也就是一共96M。

MySQL8.0.30在线调整redo log_在线调整

2.断开所有应用链接并关闭快速停实例参数:innodb_fast_shutdown=0,确保InnoDB刷新所有脏页到磁盘使其一致性关闭

MySQL8.0.30在线调整redo log_redo log_02

3.等步骤二执行完后,停掉MySQL实例

MySQL8.0.30在线调整redo log_在线调整_03

4.删掉数据目录下旧日志文件

MySQL8.0.30在线调整redo log_在线调整_04

5.在配置文件mysql13306.cnf里修改参数innodb_log_file_size,设置这个参数为500M

[mysqld]
innodb_log_file_size=500M

6.启动MySQL实例

7.查看新的日志文件大小

MySQL8.0.30在线调整redo log_MySQL_05

重启实例完成后,可以看到redo大小由48M改成了500M

 

二、MySQL8.0.30及以后版本修改redo大小

MySQL8.0.30版本发布后,使用新参数innodb_redo_log_capacity代替之前的两个参数(目前设置这两个参数依然有效),使用新参数调整大小非常简单,直接设置为要调整的值就行。比如调整其大小为500M:

调整之前默认为100M:

MySQL8.0.30在线调整redo log_redo log_06

在线调整innodb_redo_log_capacity参数为500M

MySQL8.0.30在线调整redo log_redo log_07

新增对应的状态变量innodb_redo_log_capacity_resized,可以在MySQL层面查看当前REDO日志文件大小:

MySQL8.0.30在线调整redo log_redo log_08

而磁盘文件的存储形式不再是类似ib_logfileN这样的文件,而是替代为 #ib_redoN 这样新文件形式。这些新的文件默认存储在数据目录下的子目录'#innodb_redo里。

1)这样的文件一共有32个,按照参数innodb_redo_log_capacity来平均分配。

500*1024*1024/32 = 16384000

MySQL8.0.30在线调整redo log_redo log_09

2)有两类文件:一类是不带_tmp后缀的,代表正在使用的日志文件;带_tmp后缀的代表多余的日志文件,等正在使用的文件写满后,再接着使用它。

MySQL8.0.30在线调整redo log_MySQL_10

如下所示:正在使用的日志文件有22个,未使用的有10个。

同时performance_schema库里新增表innodb_redo_log_files:可获取当前使用的REDO日志文件 LSN 区间、实际写入大小、是否已满等统计数据。例如当前22个REDO日志文件的统计数据如下

MySQL8.0.30在线调整redo log_在线调整_11

知识总结

新版本的功能越来越多,简化了运维的工作,研究一些新特性然后升级到新版本是有必要的。

标签:文件,log,redo,30,innodb,MySQL8.0,日志,REDO
From: https://blog.51cto.com/u_13482808/6969637

相关文章

  • 程序员自由创业周记#4:从一笔30美元的收入谈起
    本文是一位程序员进行独立开发创业的记录,将分享创业过程中的所思所想以及收支明细。在文末,您还可以找到之前的历史文章。惊喜之旅这次的惊喜源于学伟扫描Pro在美国销售的第一笔订单,这标志着我的产品获得了漂亮国用户的认可,让我感到非常欣慰。学伟扫描是我四年前尝试独立开发......
  • openGauss学习笔记-30 openGauss 高级数据管理-别名
    openGauss学习笔记-30openGauss高级数据管理-别名SQL可以重命名一张表或者一个字段的名称,这个名称为该表或该字段的别名。创建别名是为了让表名或列名的可读性更强。SQL中使用AS来创建别名。30.1语法格式30.1.1列别名语法SELECT{*|[column[AS]output_name,...]}......
  • SAP HANA Log 卷空间耗尽解决
        HANA数据集日志空间耗尽,数据库服务停止响应,此时如果直接删除日志段很有可能导致数据库无法正常启动,数据丢失。安全方式是将一部分日志移动至其他空间充足的磁盘路径,腾出一部分日志卷空间,数据库服务启动后执行日志备份任务回收日志空间,步骤如下:     1、查看HANA......
  • 自己动手更换小米手机更换尾插小板,解决充电无声信号等问题blog
    备用机,很多年了,充电经常不好用,pdd直接购买安装首先先将手机取下卡托。接着使用工具取下后盖。其次断开小板排线,再把尾插部分螺丝卸下,取下尾插小板。......
  • MySQL8.0 JSON相关函数(二) -更改JSON值
    (目录)本文涉及函数简介函数作用JSON_ARRAY_APPEND在数组后追加元素JSON_ARRAY_INSERT在JSON数据中的指定位置插入元素JSON_INSERT如果存在值,不操作,否则插入值JSON_REPLACE如果存在值,更新该值,否则不操作JSON_SET如果存在值,就更新,否则就插入JSON_REM......
  • 漏洞复现报告:CVE-2021-44228 Log4j2远程代码执行漏洞
    Log4j2远程代码执行漏洞研究报告一、漏洞信息搜集1.1漏洞信息表漏洞名称Log4j2远程代码执行漏洞发布时间2021年12月10日漏洞编号CVE-2021-44228威胁类型远程代码执行危害级别高危影响版本ApacheLog4j22.0-2.15.0-rc1漏洞描述产品介绍:ApacheLog4j是一个Java日志框架,用于在应用......
  • 30 天精通 RxJS (03):Functional Programming 通用函式
    了解FunctionalProgramming的通用函式,能让我们写出更简洁的代码,也能帮助我们学习RxJS。读者可能会很好奇,我们的主题是RxJS为什么要特别讲FunctionalProgramming的通用函式呢?实际上,RxJS核心的Observable操作观念跟FP的阵列操作是极为相近的,只学会以下几个基本的......
  • 漏洞复现报告:CVE-2020-2883 Weblogic反序列化漏洞
    OracleWebLogicServer漏洞研究报告一、漏洞信息搜集1.1漏洞信息表漏洞名称OracleWebLogicServer反序列化漏洞发布时间2020年4月16日漏洞编号CVE-2020-2883威胁类型反序列化漏洞危害级别高危影响版本OracleWebLogicServer10.3.6.0.0、12.1.3.0.0、12.2.1.3.0、12.2.1.4.0版......
  • graylog
    pipelinerulerule"GeoIPlookup:zimbra_auth_failure"whenregex("^warning\\:\\sunknown\\[(.+?)\\]\\:\\sSASL\\sLOGIN\\sauthentication\\sfailed\\:\\sauthentication\\sfailure$",to_string($message.message)).mat......
  • 30万奖金!首个有阿里技术培训支持,让AI落定场景应用的赛事!
     Datawhale 主办方:阿里云视觉开放平台首届AI开发者创新应用赛,以 “无行业不AI“ 为主题,融合阿里云视觉AI、云原生、云存储、小程序云等多项产品技术,专注为行业应用产品及解决方案开发用户提供展示创意和想法的舞台。AI+场景,探索“视觉智能”的无限可能本创新应用赛采用开放式命......