2bin-log日志大。自己在网上查找了,设置日志过期时间。
#设置日志过期时间
expire_logs_days=30
但是过了一段时间去检查。并没有生效。
于是再找了个方法。测试生效
设置expire_logs_days自动过期清理binlog
登录数据库服务器。
1、使用命令 : show variables like 'expire_logs_days';
发现my.cfg并没有设置成功,不知道为什么。
2、set global expire_logs_days=30;
3、设置之后不会立即清除,触发条件是:
binlog大小超过max_binlog_size
手动执行flush logs
重新启动时(MySQL将会new一个新文件用于记录binlog)
我们执行flush logs;
mysql> flush logs;
Query OK, 0 rows affected, 64 warnings (0.16 sec)
4、如果binlog非常多,不要轻易设置改参数,有可能导致io争用,这时候可以使用purge命令予以清除:
将bin.000061之前的binlog清掉:
mysql>purge binary logs to 'bin.000061';
将指定时间之前的binlog清掉:
mysql>purge binary logs before '2019-08-05 13:09:51';