清理mysql binglog文件

mysql随着使用时间的推移,binglog文件会越来越大,比如我们的oa系统,上线4年多了,最近总有磁盘空间满影响系统正常使用的情况出现。检查后发现binglog是罪归祸首。

binglog文件最好不要采用应删除的方式清理,如下方式可安全清除。

首先,登录mysql,检查binglog文件:

SHOW BINARY LOGS;

发现我的binglog文件非常多,检查了下发现每一个都是大家伙,有1个G。

在这里插入图片描述
以上文件是按照时间先后顺序排列的。

以下命令删除mysql-bin.000718之前的所有binglog文件:

mysql> PURGE BINARY LOGS TO ‘mysql-bin.000718’;
Query OK, 0 rows affected (1.30 sec)

再查看一下:

mysql> show binary logs;
±-----------------±-----------+
| Log_name | File_size |
±-----------------±-----------+
| mysql-bin.000718 | 1076209921 |
| mysql-bin.000719 | 1075665337 |
| mysql-bin.000720 | 1075151132 |
| mysql-bin.000721 | 1076053554 |
| mysql-bin.000722 | 1024584523 |
±-----------------±-----------+
5 rows in set (0.00 sec)

然后再查看磁盘空间占用情况,98%瞬间降到的48%。

其实我前段时间是做过一次类似处理的,binglog文件涨的太快了,没太搞明白他的生成逻辑,反正5月25号:

[root@izphxjm2m4lp20z data]# ls -lrt mysql-bin*
-rw-rw---- 1 mysql mysql 4712 Mar 18 10:45 mysql-binindex
-rw-rw---- 1 mysql mysql 1076209921 May 25 10:46 mysql-bin.000718
-rw-rw---- 1 mysql mysql 1075665337 May 25 10:47 mysql-bin.000719
-rw-rw---- 1 mysql mysql 1075151132 May 25 10:48 mysql-bin.000720
-rw-rw---- 1 mysql mysql 1076053554 May 25 10:49 mysql-bin.000721
-rw-rw---- 1 mysql mysql 95 May 25 16:17 mysql-bin.index
-rw-rw---- 1 mysql mysql 1024651900 May 25 16:34 mysql-bin.000722

清理之前10点46开始每分钟1个g…这谁受得了啊。

所以还是需要想办法自动清理一下。

修改mysql配置文件,找到/etc/my.cnf,加入下面两行:

[mysqld]
expire_logs_days = 7 # 设置Binlog日志过期时间,单位为天
max_binlog_size = 1024M # 设置单个Binlog文件的最大大小

之后重新启动mysql:

systemctl mysqld restart

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值