Mysql数据库清理binlog日志文件

第一步:登录mysql数据库

mysql -u root -p

第二步:查看binlog日志

show binary logs;

第三步:删除binlog日志

1、删除某个日志文件之前的所有日志文件

purge binary logs to 'mysql-bin.000043';

2、清理xxxx-xx-xx xx:xx:xx前binlog日志

PURGE MASTER LOGS BEFORE 'xxxx-xx-xx xx:xx:xx';
xxxx-xx-xx xx:xx:xx(为年月日时分秒)

 3、清理某天前binlog日志

PURGE MASTER LOGS BEFORE DATE_SUB(NOW( ), INTERVAL 这里填天数 DAY); 

BEFORE,变量的date自变量可以为'YYYY-MM-DD hh:mm:ss'格式。这里的清理是指从此刻-3243600s前的文件,是此文件最后更新的时间。

时间和文件名一定不可以写错,尤其是时间中的年和文件名中的序号,以防不小心将正在使用的binlog删除切勿删除正在使用的binlog!!!

设置binlog过期时间

mysql5.7以上版本:
SET GLOBAL binlog_expire_logs_seconds = 259200;

mysql5.7以下版本:

SET GLOBAL expire_logs_days = 3;

验证:

SHOW VARIABLES LIKE '%expire_logs%';
THE END