架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 1382|回复: 0

[资料] MySQL 数据库 /var/lib/mysql/ binlog 空间占用

[复制链接]
发表于 2024-9-14 09:47:54 | 显示全部楼层 |阅读模式
需求:服务器硬盘被占满了,发现是几乎都是都是 MySQL 的 binlog 占用导致的。如何安全清理删除 binlog 文件呢?

回顾:

解决"mysql-bin.000001"占用超大空间的问题
https://www.itsvse.com/thread-2694-1-1.html

CentOS 统计每个文件夹大小,查找大文件
https://www.itsvse.com/thread-9542-1-1.html

服务器磁盘空间被占满,发现是 MySQL 的 binlog 占用的,如下图:

binlog是Mysql sever层维护的一种二进制日志,与innodb引擎中的redo/undo log是完全不同的日志;其主要是用来记录对mysql数据更新或潜在发生更新的SQL语句,记录了所有的DDL和DML(除了数据查询语句)语句,并以事务的形式保存在磁盘中,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。

QQ截图20240912092607.jpg QQ截图20240912093357.jpg

登录到 mysql 数据库,运行以下命令查看当前的 binlog 文件列表:

QQ截图20240914093404.jpg

清理 binlog 日志文件释放空间,清理指定 binlog 文件和清空所有 binlog 文件,命令分别如下:



这样治标不治本,虽然解决了本次问题,未来还有可能发生,我们需要设置 expire_logs_days 来自动清理历史 binlog 文件,只保留一定时间内的文件。

使用 mysql --help | grep cnf 命令查询配置文件,如下图:

QQ截图20240914093920.jpg

通过命令行查询 binlog 相关配置:

修改 /etc/my.cnf 配置如下:

然后重启 mysqld 服务,命令如下:

(完)




上一篇:关于 dotnet-cli 发布 publish 项目 PublishUrl 的 BUG
下一篇:【持续更新】Discuz X3.4 程序优化和清理
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2025-4-20 07:37

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表