MySQL5.7可以回收(收缩)undolog回滚日志物理文件空间
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MySQL5.7可以回收(收缩)undolog回滚日志物理文件空间,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1426字,纯文字阅读大概需要3分钟。
内容图文
undolog回滚日志是保存在共享表空间ibdata1文件里,随着业务的不停运转,ibdata1文件会越来越大,想要回收(收缩空间大小)极其困难和复杂,必须先mysqldump-A全
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可以回收(收缩)undolog回滚日志物理文件空间全部内容,希望文章能够帮你解决MySQL5.7可以回收(收缩)undolog回滚日志物理文件空间所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。