失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > MySQL5.7 可以回收(收缩)undo log回滚日志物理文件空间

MySQL5.7 可以回收(收缩)undo log回滚日志物理文件空间

时间:2022-02-11 10:11:33

相关推荐

MySQL5.7 可以回收(收缩)undo log回滚日志物理文件空间

数据库|mysql教程

mysql5.7,undo log,表空间回收

数据库-mysql教程

H5在线竞猜源码,ubuntu下git安装,tomcat上传的图片损坏,倒爬虫别名,java语言在线转成php,seo和altlzw

undolog回滚日志是保存在共享表空间ibdata1文件里,随着业务的不停运转,ibdata1文件会越来越大,想要回收(收缩空间大小)极其困难和复杂,必须先mysqldump-A全

支付接口源码下载,vscode剪切板,ubuntu 竖放,tomcat 跟踪sql,log4j写sqlite,在淘宝上怎么接单爬虫任务,php apc 下载,丹东seo优化网络推广,asp sql购物网站源码,支付宝网页授权获取用户信息,电商平台营销方案模板下载lzw

新华社源码,vscode 多选文件,更改ubuntu源,tomcat通俗是什么,面试爬虫项目,php 图片填充图片,塔城seo网络营销模式,付费视频下载网站源码,网页式ppt模板lzw

undo

log回滚日志是保存在共享表空间ibdata1文件里,随着业务的不停运转,ibdata1文件会越来越大,想要回收(收缩空间大小)极其困难和复杂,

必须先mysqldump

-A全库的导出,然后删掉data目录,然后重新初始化安装,最后再把全库的SQL文件导入,采用这种方法进行ibdata1文件的回收。

在MySQL5.6里,可以把undo log回滚日志分离出去,到一个单独的表空间里,具体请参考:,但缺点就是不能进行回收(收缩)空间大小。直到MySQL5.7 ,才支持在线收缩。

innodb_undo_log_truncate参数设置为1,即开启在线回收(收缩)undo log日志文件,支持动态设置。

innodb_undo_tablespaces参数必须大于或等于2,即回收(收缩)一个undo log日志文件时,要保证另一个undo log是可用的。

innodb_undo_logs: undo回滚段的数量, 至少大于等于35,默认128。

innodb_max_undo_log_size:当超过这个阀值(默认是1G),会触发truncate回收(收缩)动作,truncate后空间缩小到10M。

innodb_purge_rseg_truncate_frequency:控制回收(收缩)undo log的频率。undo log空间在它的回滚段没有得到释放之前不会收缩,

想要增加释放回滚区间的频率,就得降低innodb_purge_rseg_truncate_frequency设定值。

验证过程:

对一张100万的sbtest表,进行全表更新4次,如:

总结:

这个功能出来以后,降低了磁盘空间使用率(当然,土豪随意),并且加快了xtrabackup热备份的速度。

本文出自 “贺春旸的技术专栏” 博客,请务必保留此出处

如果觉得《MySQL5.7 可以回收(收缩)undo log回滚日志物理文件空间》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。