在使用mysql的过程中,如果开启二进制日志就会产生binlog文件。它可以帮助我们进行增量备份和恢复的操作。但是,如果不合理配置,binlog就会越来越大,导致磁盘空间不足。

清理的方法有四种,分别对应不同的情况:

1、手动清理binlog数据,使用下列几条SQL语句之一

PURGE MASTER LOGS TO 'binlog.000020';  #清理binlog.000020之前的binlog数据和文件
PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 60 DAY);   #清理距今60天之前的binlog数据和文件
PURGE MASTER LOGS BRFORE '2022-01-01 12:00:00';#清理2022-01-01 12:00前的binlog数据和文件

2、添加在配置文件中

expire_logs_days = 0   #文件中如果不写此项,那就默认不清理
expire_logs_days = 5   #自动清除5天以上的binlog数据和文件

3、删除全部binlog(一般不推荐)

reset master;

4、物理删除(各种不推荐)

rm -f binlog.000001