在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回收收缩相关参数相关推荐

  1. 删除对于job收缩日志失败547_MySQL中常见的几种日志

    MySQL 中有六种日志文件,分别是: 重做日志(redo log).回滚日志(undo log).二进制日志(binlog).错误日志(errorlog).慢查询日志(slow query log) ...

  2. java中对象的清除 正确的说法是_下列关于Java中垃圾回收的相关说法,正确的是()...

    [简答题]审证中要审核的要点有哪些? [单选题]幼儿以积木.雪.沙土等材料为道具来模仿周围现实生活的游戏是( ) [简答题]What is the requirements & what ' ...

  3. 【宋红康 MySQL数据库 】【高级篇】【17】MySQL事务日志:redo、undo

    持续学习&持续更新中- 学习态度:守破离 [宋红康 MySQL数据库 ][高级篇][17]MySQL事务日志 概述 redo日志 为什么需要redo日志 redo日志的好处.特点 redo的组 ...

  4. always on sql 收缩日志_使用alwayson后如何收缩数据库日志的方法详解

    问题描述: 在使用了alwayson后,主从库实时同步,原理是通过事务日志同步的,所以造成主数据库的事务日志一直在使用,而且无法收缩主数据库的事务日志. 在主从库同步时,收缩数据库是不起作用的.由于主 ...

  5. mysql 更新统计信息_MySQL5.7统计信息更新的相关参数解释和测试

    MySQL版本:5.7.21 统计信息相关参数如下: mysql> show global variables like '%stats%'; +------------------------ ...

  6. mysql数据库 日志类型_MySQL中的日志类型(一)-摘要和日志的共同特征

    MySQL中的日志类型(一)-摘要和日志的共同特征 发布时间:2020-07-12 19:56:15 来源:51CTO 阅读:506 作者:月饮沙 MySQL中的日志类型 MySQL具有多种日志,用来 ...

  7. mysql row 日志格式_MySQL 中二进制日志 (binlog) 3 种不同的格式(Mixed,Statement,Row)...

    MySQL 5.5 中对于二进制日志 (binlog) 有 3 种不同的格式可选:Mixed,Statement,Row,默认格式是 Statement.总结一下这三种格式日志的优缺点. MySQL ...

  8. mysql warning 日志_Mysql5.7.19安装后错误日志中有警告

    警告1: secure_file_priv 配置项对数据导入导出的影响 1.限制mysqld 不允许导入 | 导出 mysqld --secure_file_prive=null MySQL [ztj ...

  9. mysql rpm 日志_mysql5.1.48-1的src.rpm包安装日志(一)

    对linux的菜鸟我来说,装上这个有难度,特意记下来. 安装的系统是centos.升级到最高版本2.6.34,但是没成功,还没找原因. root@localhost lost+found)#rpm - ...

最新文章

  1. tf.keras.layers.Embedding 嵌入层 示例
  2. 自定义Lisp透明命令
  3. 北风设计模式课程---单一职责原则
  4. 《软件设计师》——数据结构和算法基础
  5. 图像处理中ct图的通道是多少_常见医疗扫描图像处理步骤
  6. 智能合约语言 Solidity 教程系列8 - Solidity API
  7. 轻松实现突破网管限制(SoftEther实际应用)
  8. SQL Server中的数据库表分区
  9. python应用举例_python基础举例应用
  10. 机器视觉系统中相机的分辨率怎么选择?
  11. 与我们息息相关的internet服务(2)---WWW服务
  12. 网络营销应该怎样做?巧用换IP软件
  13. java课程设计通讯录_java课程设计(通讯录管理软件源代码)
  14. 运维小知识---If you insist running as root, then set the environment variable RUN_AS_USER=root...
  15. 浅谈数据库用户表结构设计和第三方登录
  16. mysql sumif函数的使用方法_用sumif函数如何求平均值
  17. Unity3D中GameObject 详细介绍
  18. bzoj 2429 聪明的猴子
  19. 聊天程序设计实验报告——java
  20. Python启发式算法中爬山法的讲解及解方程问题实战(超详细 附源码)

热门文章

  1. IOT闸机控制系统,远程控制
  2. 024空格沙悟净死亡
  3. Successfully deployed.Backed up previous deployment.
  4. 什么样的程序员才是牛逼的程序员
  5. 马云质押阿里巴巴股票寻求贷款,要有大动作?旧闻新炒!
  6. 阿里云-Centos7安装Jenkins
  7. Chocolatey - Software Management for Windows
  8. 我的世界无限刷铁服务器,我的世界?怎么无限刷铁[多图]
  9. C/C++ 基于对勾函数和双曲线实现高效率散列函数,实现真正意义上的减少冲突!!
  10. rts游戏服务器源码,unity即时战略游戏引擎RTS Engine 1.2.0 源码