mysql 删除过期日志_MYSQL大批量删除日志

今天MYSQL服务器磁盘空间耗尽,经排查发现mysql目录下生成大量的二进制日志文件,占用几十G的磁盘空间,差不多3000多个文件,如下图

d7e27dc4d78d5070706e1baa8af92f48.png

进入mysql里面查看相关log的设置mysql> show variables like '%log%';

+-----------------------------------------+---------------------------------------------+

| Variable_name                           | Value                                       |

+-----------------------------------------+---------------------------------------------+

| back_log                                | 50                                          |

| binlog_cache_size                       | 32768                                       |

| binlog_direct_non_transactional_updates | OFF                                         |

| binlog_format                           | MIXED                                       |

| expire_logs_days                        | 0          #这个默认是0,也就是logs不过期

下面先通过手动删除这些日志文件,然后再设置expire_logs_days的值,超过7天的日志就自动删除。mysql> purge master logs to 'mysql-bin.002970';  #表示将主库的日志记录清除到以'mysql-bin.002970'为开始的日志。

Query OK, 0 rows affected (1 min 30.29 sec)

mysql> set global expire_logs_days=7;            #这个是全局变量,重启mysql就不会生效了

Query OK, 0 rows affected (0.00 sec)

mysql> flush logs;

Query OK, 0 rows affected (3.97 sec)

另外一种方法就是修改/etc/my.cnf,在mysqld下面添加一行即可。重启mysql永久生效,只保留7天的二进制日志。expire_logs_days = 7

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值