expire_logs_day 设置binlog老化日期
触发时机是binlog发生切换:
binlog大小超过max_binlog_size
手动执行flush logs
重新启动时(mysql将会new一个新文件用于记录binlog)
该参数可以在线修改
1
2
3
4
5
6
7
8
9
|
mysql> show var iables 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争用
1
|
mysql>purge binary logs to 'bg-bin.000112' ;
|
将bg-bin.000112之前的binary logs清掉;
1
|
mysql>purge binary logs before '2013-12-10 12:07:21' ;
|
将指定时间之前的binary logs清掉;
注意,不要轻易手动去删除binlog,会导致binlog.index和真实存在的binlog不匹配,而导致expire_logs_day失效