expire_logs_day自动清理过期binlog

expire_logs_day设置binlog老化日期
触发时机是binlog发生切换:
binlog大小超过max_binlog_size
手动执行flush logs
重新启动时(MySQL将会new一个新文件用于记录binlog)
该参数可以在线修改
mysql> show variables like '%expire%';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| expire_logs_days | 0     |
+------------------+-------+
1 row in set (0.00 sec)


mysql> set global expire_logs_days=10;
Query OK, 0 rows affected (0.00 sec)
为了使之生效,需要flush logs。
如果堆积的binlog非常多,不要轻易设置改参数,可以使用purge命令 部分老化binlog否则,将会导致IO争用
mysql> purge binary logs to 'bg-bin.000112';
将bg-bin.000112之前的binary logs清掉;


mysql> purge binary logs before '2013-12-10 12:07:21';
将指定时间之前的binary logs清掉;
注意:不要轻易手动去删除binlog,会导致binlog.index和真实存在的binlog不匹配,从而导致expire_logs_day失效。

posted @ 2021-05-23 01:46  ~*一生所爱*~  阅读(364)  评论(0编辑  收藏  举报
在国际交往中,实力 永远是维护正义的基础;国防 才是外交真正的后盾;尊严 只在剑峰之上;真理 只在大炮射程之内。