mysql的binlog清除

1、binlog设置相关参数

expire_logs_day 设置binlog老化日期

触发时机是binlog发生切换:

binlog大小超过max_binlog_size

手动执行flush logs

重新启动时(mysql将会new一个新文件用于记录binlog)

2、参数在线更改

该参数可以在线修改

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。

3、正确删除binlog

如果堆积的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失效

猜你喜欢

转载自blog.csdn.net/li66934791/article/details/83270276
今日推荐