mysql清除binlog (备忘)

来源:互联网 发布:淘宝网天猫投诉电话 编辑:程序博客网 时间:2024/05/16 04:31

mysql开启BINGLOG后日志文件增长比较快,很快占满磁盘空间。
通过以下几种方式删除日志文件:

要在服务器端执行,客户端(用客户端连接工具执行)执行不行!!!
一、设置日志保留时长expire_logs_days自动删除
查看当前日志保存天数:

show variables like ‘%expire_logs_days%’;

这个默认是0,也就是logs不过期,可通过设置全局的参数,使他临时生效:

set global expire_logs_days=7;

设置了只保留7天BINLOG, 下次重启mysql这个参数默认会失败,所以需在my.cnf中设置

expire_logs_days = 7

二、手动删除BINLOG (purge binary logs)
用于删除列于在指定的日志或日期之前的日志索引中的所有二进制日志。这些日志也会从记录在日志索引文件

 PURGE {MASTER | BINARY} LOGS TO ‘log_name’
 PURGE {MASTER | BINARY} LOGS BEFORE ‘date’

例如:

PURGE MASTER LOGS TO ‘mysql-bin.010′;
PURGE MASTER LOGS BEFORE ‘2008-06-22 13:00:00′;
PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY);