mysql 收缩日志_MySQL5.7中Undo回收收缩相关参数
在MySQL5.7以前,ibdata1文件会逐渐增大(ibdata1文件包含哪些信息?),非常占用系统空间,特别是一些云数据来说,磁盘非常的贵,想要回收空间,只能进行一次导出和导入操作,来重新生成undo 表空间,从MySQL5.7开始,有了在线回收undo表空间的功能,主要由以下几个参数设置。
innodb_undo_directory = .
为undo文件存储路径。如果没有指定默认值(NULL),则undo表空间则存放到mysql的data目录里(datadir选项)。配置此项可以用undo从ibdata文件里分离出来。单独存储。
innodb_undo_logs = 128
(默认值 128)undo rollback segment 回滚段个数,为 innodb_rollback_segments 参数选项的别名,最大值为128,其中32个为使用临时表空间 ibtmp1 保留,1个为系统表空间使用,剩余的95个为 undo tablespaces 使用。
当 innodb_rollback_segments<=32的时候,系统将自动分配1个rollback segment给系统表空间,32个分给临时表空间。
此选项以后版本将移除!
innodb_undo_tablespaces = 0
(MySQL5.7默认值为0,MySQL8默认值为2)undo文件个数,此值需要在MySQL Server 初始化的时候指定,一经设定,以后将无法修改,否则重启后会提示部分Undo 文件找不到。默认值为0, 此时无法进行Undo回收操作,回收undo表空间至少需要为2个才可以, 需保证其中一个进行回收收缩时,另一个为可用状态。保存路径为 innodb_undo_directory选项设置,undo文件名规则为 undoN。文件大小受innodb_page_size选项影响。
此选项以后版本将移除!
innodb_undo_log_truncate = OFF
(默认值NO)参数设置为ON,即开启在线回收undo日志文件,支持动态设置,当超过 innodb_max_undo_log_size 时被进行收缩,至少需要两个undo文件,即innodb_undo_tablespace>=2
innodb_max_undo_log_size = 1073741824
(默认1GB)当超过阈值时,会触发truncate回收动作,truncate后空间缩小到10MB
innodb_purge_rseg_truncate_frequency = 128
(默认值128), 控制回收undo log的频率。 指定purge操作被唤起多少次之后才释放rollback segments。当undo表空间里面的rollback segments被释放时,undo表空间才会被truncate。由此可见,该参数越小,undo表空间被尝试truncate的频率越高。 。
联想思考:
ibdata文件包含哪些信息?
undo logs、change buffer、doublewrite buffer、表数据、索引数据,如果启用了 innodb_file_per_table 选项的话,则表数据和索引数据则存储到相应表的.ibd 文件里),参考:
https://dev.mysql.com/doc/refman/5.7/en/glossary.html#glos_ibdata_file
ibdata文件爆增原因有哪些?
事务未提交、大事务、启用了共享表空间、磁盘io过慢导致check point远远落后。等等
如何避免ibdata文件一直爆增的问题?
尽量短事务、增加 purge 线程、加速purge频率(innodb_purge_truncate_frequency)、监控 information_schema.Innodb_trx 表,设置长事务阈值,超过就报警 / 或者 kill
mysql 收缩日志_MySQL5.7中Undo回收收缩相关参数相关推荐
- 删除对于job收缩日志失败547_MySQL中常见的几种日志
MySQL 中有六种日志文件,分别是: 重做日志(redo log).回滚日志(undo log).二进制日志(binlog).错误日志(errorlog).慢查询日志(slow query log) ...
- java中对象的清除 正确的说法是_下列关于Java中垃圾回收的相关说法,正确的是()...
[简答题]审证中要审核的要点有哪些? [单选题]幼儿以积木.雪.沙土等材料为道具来模仿周围现实生活的游戏是( ) [简答题]What is the requirements & what ' ...
- 【宋红康 MySQL数据库 】【高级篇】【17】MySQL事务日志:redo、undo
持续学习&持续更新中- 学习态度:守破离 [宋红康 MySQL数据库 ][高级篇][17]MySQL事务日志 概述 redo日志 为什么需要redo日志 redo日志的好处.特点 redo的组 ...
- always on sql 收缩日志_使用alwayson后如何收缩数据库日志的方法详解
问题描述: 在使用了alwayson后,主从库实时同步,原理是通过事务日志同步的,所以造成主数据库的事务日志一直在使用,而且无法收缩主数据库的事务日志. 在主从库同步时,收缩数据库是不起作用的.由于主 ...
- mysql 更新统计信息_MySQL5.7统计信息更新的相关参数解释和测试
MySQL版本:5.7.21 统计信息相关参数如下: mysql> show global variables like '%stats%'; +------------------------ ...
- mysql数据库 日志类型_MySQL中的日志类型(一)-摘要和日志的共同特征
MySQL中的日志类型(一)-摘要和日志的共同特征 发布时间:2020-07-12 19:56:15 来源:51CTO 阅读:506 作者:月饮沙 MySQL中的日志类型 MySQL具有多种日志,用来 ...
- mysql row 日志格式_MySQL 中二进制日志 (binlog) 3 种不同的格式(Mixed,Statement,Row)...
MySQL 5.5 中对于二进制日志 (binlog) 有 3 种不同的格式可选:Mixed,Statement,Row,默认格式是 Statement.总结一下这三种格式日志的优缺点. MySQL ...
- mysql warning 日志_Mysql5.7.19安装后错误日志中有警告
警告1: secure_file_priv 配置项对数据导入导出的影响 1.限制mysqld 不允许导入 | 导出 mysqld --secure_file_prive=null MySQL [ztj ...
- mysql rpm 日志_mysql5.1.48-1的src.rpm包安装日志(一)
对linux的菜鸟我来说,装上这个有难度,特意记下来. 安装的系统是centos.升级到最高版本2.6.34,但是没成功,还没找原因. root@localhost lost+found)#rpm - ...
最新文章
- tf.keras.layers.Embedding 嵌入层 示例
- 自定义Lisp透明命令
- 北风设计模式课程---单一职责原则
- 《软件设计师》——数据结构和算法基础
- 图像处理中ct图的通道是多少_常见医疗扫描图像处理步骤
- 智能合约语言 Solidity 教程系列8 - Solidity API
- 轻松实现突破网管限制(SoftEther实际应用)
- SQL Server中的数据库表分区
- python应用举例_python基础举例应用
- 机器视觉系统中相机的分辨率怎么选择?
- 与我们息息相关的internet服务(2)---WWW服务
- 网络营销应该怎样做?巧用换IP软件
- java课程设计通讯录_java课程设计(通讯录管理软件源代码)
- 运维小知识---If you insist running as root, then set the environment variable RUN_AS_USER=root...
- 浅谈数据库用户表结构设计和第三方登录
- mysql sumif函数的使用方法_用sumif函数如何求平均值
- Unity3D中GameObject 详细介绍
- bzoj 2429 聪明的猴子
- 聊天程序设计实验报告——java
- Python启发式算法中爬山法的讲解及解方程问题实战(超详细 附源码)
热门文章
- IOT闸机控制系统,远程控制
- 024空格沙悟净死亡
- Successfully deployed.Backed up previous deployment.
- 什么样的程序员才是牛逼的程序员
- 马云质押阿里巴巴股票寻求贷款,要有大动作?旧闻新炒!
- 阿里云-Centos7安装Jenkins
- Chocolatey - Software Management for Windows
- 我的世界无限刷铁服务器,我的世界?怎么无限刷铁[多图]
- C/C++ 基于对勾函数和双曲线实现高效率散列函数,实现真正意义上的减少冲突!!
- rts游戏服务器源码,unity即时战略游戏引擎RTS Engine 1.2.0 源码