工作中服务器的空间问题需要清理mysql binlog日志
一直都在本地电脑word中记录,直到有一天硬盘坏了,写博客的开始
- 删除方式
RESET MASTER; 删除所有日志,编号从0开始
Purge master logs to ‘mysql-bin100’; 删除mysql-bin100之前所有日志
Purge master logs before’2016-04-03 19:04:08’ 删除这个日志前2016-04-03 19:04:08所有日志
我自己所使用到的是删除几天前的日志:
show binary logs;查看binlog日志
Purge master logs before date_sub(now(),interval 3 day);
- 定期自动删除
我这里是centos系统先登录mysql
通过设定过期时间来删除binlog文件
show variables like 'expire_logs_days';
使用set global expire_logs_days = 30;设置定期天数30天自动清理一次,默认是0不会进行binlog清理
最后执行flush logs;
如果binlog非常多,不要轻易设置参数,有可能导致io争用,可以使用purge命令进行清除
purge binary logs to 'bin.0000119';
也可以指定时间进行清除
purge binary logs before '2017-05-01 13:09:51';