自动清理

动态设置

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

默认为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';