在使用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;