mysql(mariadb)数据库bin_log清理
2021/7/26 19:05:48
本文主要是介绍mysql(mariadb)数据库bin_log清理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
mysql(mariadb)数据库bin_log清理
- 环境
k8s集群使用helm方式安装mariadb数据库。
- 问题于需求
检查存储节点硬盘使用率偏高,检查发现数据库bin_log日志较多,占用大量硬盘。需求清理过量日志(手段),释放硬盘空间(效果),保障生产安全(目的)。
- 处理方案
清理过量日志,配置定期清理bin_log日志。
正式部署
- 检查硬盘存储,定位文件位置
df -hl cd / du --max-depth=1 -h|grep G
- 集群修改数据库配置
kubectl -n <namespace> get configmaps kebectl -n <namespace> edit confgimaps XXX-mariadb-primary kebectl -n <namespace> edit confgimaps XXX-mariadb-secondary
添加如下配置内容:
expire_logs_days=7 #保留7天内得bin_log日志 sync_binlog=1 #每次写入同步存到硬盘中,保证安全性,降低性能
- 重启数据库使配置生效
kubectl -n <namespace> rollout restart sts XXX-mariadb-primary kubectl -n <namespace> rollout restart sts XXX-mariadb-secondary
这时检查硬盘使用率如果已经下降,说明配置生效了。
其他参考
从库的relay-bin大量蓄积问题处理
一般从库的[mysql-relay-bin.000000]日志会自动清理,实际生产中遇到从库relay日志大量蓄积,不能自动清理,占用过量的硬盘资源。
可登入数据库进行清理:
stop slave; reset slave; start slave;
注释:亲测此方法可清理relay日志,但不确定是否有副作用,建议谨慎使用。安全生产第一,操作前至少备份一下数据库。
- 查看配置
SHOW VARIABLES LIKE 'event_scheduler'; #查看定时器开关 show variables like 'long_query_time'; #查看慢查询时间设定 show variables like 'slow_query_log'; #查看慢查询开关 show VARIABLES like 'slow_query_log_file'; #查看慢查询日志存储位置 show VARIABLES like 'expire_logs_days'; #查看bin_log保留期限 show VARIABLES like 'max_binlog_size'; #查看bin_log最大单文件限制
这篇关于mysql(mariadb)数据库bin_log清理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-04部署MySQL集群项目实战:新手入门教程
- 2024-11-04如何部署MySQL集群资料:新手入门指南
- 2024-11-02MySQL集群项目实战:新手入门指南
- 2024-11-02初学者指南:部署MySQL集群资料
- 2024-11-01部署MySQL集群教程:新手入门指南
- 2024-11-01如何部署MySQL集群:新手入门教程
- 2024-11-01部署MySQL集群学习:新手入门教程
- 2024-11-01部署MySQL集群入门:新手必读指南
- 2024-10-23BinLog入门:新手必读的MySQL二进制日志指南
- 2024-10-23Binlog入门:MySQL数据库的日志管理指南