mysql5.6 5.7(mysql 5.7.35)
2022-11-10 能源信息网 【 字体:大 中 小 】
mysql5.6 5.7(mysql 5.7.35),本文通过数据整理汇集了mysql5.6 5.7(mysql 5.7.35)相关信息,下面一起看看。
数据库5.7 (mysql 5.7使用)mysql 5.7特性详解——在线恢复UNDO表空间空闲mysql空间概述undo log回滚日志存储在共享表空间ibdata1文件中。随着业务的不断运营,ibdata1文件会越来越大,恢复起来极其困难和复杂(收缩空间大小)。必须先导出mysqldump -A完整库,然后删除数据目录,然后重新初始化安装,最后导入完整库的SQL文件,用这个* * *回收ibdata1文件。那么有没有更好的办法呢?
在线回收还原表空间
在MySQL5.6中,可以将undo log回滚日志分离到单独的表空间中,但缺点是不能回收(收缩)空间大小。直到MySQL5.7才支持在线收缩。
innodb_undo_log_truncate的参数设置为1,即启动在线回收(收缩)撤销日志文件,支持动态设置。参数innodb_undo_tablespaces必须大于或等于2,也就是说,在回收(收缩)一个撤消日志文件时,要确保另一个撤消日志可用。Innodb _ undo _ logs:撤销回滚段的数量,至少大于或等于35,默认为128。Innodb_max_undo_log_size:当超过这个阈值(默认为1G)时,会触发truncate recovery(收缩)动作,truncate后的空间会缩小到10M。innodb _ purge _ rseg _ truncate _ frequency:控制回收(收缩)撤消日志的频率。撤消日志空间不会缩小,直到其回滚段被释放。要增加释放回滚段的频率,必须降低innodb _ purge _ rseg _ truncate _ frequency的设置值。验证过程:对于一个100万***的测试表,更新整个表4次,比如:
可以发现,撤消日志空间增长很快,例如:
然后用sy *** ench做压力测试,让数据库运行,观察错误日志,会自动回收(收缩)撤销日志空间,比如:
通过观察物理文件,它已经被回收了,默认大小是10M。
总结这个功能后,磁盘空间整体利用率降低,xtrabackup热备份速度加快。
后面会分享更多关于devops和DBA的内容,感兴趣的朋友可以关注一下~
Mysql8.0回收表空间Mysql存储过程中的循环循环
更多mysql5.6 5.7(mysql 5.7.35)相关信息请关注本站,本文仅仅做为展示!