天天看点

mysql-bin日志文件清理

如果你的mysql服务器不需要做主从复制的话,建议通过修改my.cnf文件,来设置不生成这些文件,只要删除my.cnf中的下面一行就可以了。

 log-bin=mysql-bin

如果你需要复制,最好控制一下这些日志文件保留的天数,可以通过下面的配置设定日志文件保留的天数:

expire_logs_days = 3

表示保留3天的日志,这样老日志会自动被清理掉。

如果没有主从复制,可以通过下面的命令重置数据库日志,清除之前的日志文件:

reset master

但是如果存在复制关系,应当通过 PURGE 的名来清理 bin-log 日志,语法如下:

# mysql -u root -p

> purge master logs to 'mysql-bin.010’; //清除mysql-bin.010日志

> purge master logs before '2016-02-28 13:00:00'; //清除2016-02-28 13:00:00前的日志

> purge master logs before date_sub(now(), interval 3 day); //清除3天前的bin日志

注意,不要轻易手动去删除binlog,会导致binlog.index和真实存在的binlog不匹配,而导致expire_logs_day失效

本文转自 yntmdr 51CTO博客,原文链接:http://blog.51cto.com/yntmdr/2062070,如需转载请自行联系原作者

继续阅读