自动清理


动态设置

在终端中执行查询,查到当前二进制日志超时。

默认为0,表示永不超时

mysql> show variables like  '%expire_logs_days%' ;
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| expire_logs_days |  0     |
+------------------+-------+
1  row in set ( 0.00  sec)


通过以下命令设置保留14天

set global expire_logs_days = 14;

当mysql切换日志时自动触发。

可以通过命令 flush logs; 手动触发。(不建议手动触发)


配置文件

运行时设置在重启后无效,为保证重启后有效,需要设置配置文件。

/etc/my.cnf

[mysqld]

expire_logs_days=14




手动清理

可以通过以下命令手动清理,截止日期 或 文件名。

-- 截止到 2016-07-01 00:00:00
PURGE MASTER LOGS BEFORE  '2016-07-01 00:00:00' ;
 
-- 截止到文件 mysql-bin.001000
 
PURGE MASTER LOGS  TO  'mysql-bin.001000' ;