一、关闭MySql日志方法:
找到MySql的配置文件,然后注释以下两行即可(即在行首添加#符号就好了)。然后重启MySql服务
log-bin=mysql-bin
binlog_format=mixed
二、删除日志
1)手动删除日志
手动删除日志的基本语法如下:
PURGE{MASTER|BINARY}LOGSTO'log_name'
PURGE{MASTER|BINARY}LOGSBEFORE'date'
①、查看当前日志:
showbinarylogs;
②、查看第一个二进制日志
showbinlogevents;
③、删除指定日志之前的日志
PURGEMASTERLOGSTO'mysql-bin.010';
④、删除指定日期之前的日志
PURGEMASTERLOGSBEFORE'2018-7-1213:00:00';
⑤、删除N天前的日志
PURGEMASTERLOGSBEFOREDATE_SUB(NOW(),INTERVALNDAY);如下面的语句可以清除7天前的binlog,
PURGEMASTERLOGSBEFOREDATE_SUB(NOW(),INTERVAL7DAY);
注意:BEFORE变量的date自变量可以为'YYYY-MM-DDhh:mm:ss'格式。MASTER和BINARY是同义词。
2)自动删除日志
①、第一种方式:设置日志保存时间
修改MySql的配置文件,设置以下属性:expire_logs_days=10。这个值根据实际情况来定。当然对于生产环境修改配置文件需要重启,这个代价可能会很大,还可以通过这个命令来修改生效setglobalexpire_logs_days=10;
②、第二种方式:设置定时任务
03*** `mysql-uroot-e'PURGEBINARYLOGSBEFOREDATE_SUB(NOW(),INTERVAL7DAY);'`
上面的命令是每天凌晨3点删除7天前的binlog: