十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
一、关闭MySql日志方法:
成都创新互联专业为企业提供伊州网站建设、伊州做网站、伊州网站设计、伊州网站制作等企业网站建设、网页设计与制作、伊州企业网站模板建站服务,十年伊州做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
找到MySql的配置文件,然后注释以下两行即可(即在行首添加#符号就好了)。然后重启MySql服务
log-bin=mysql-bin
binlog_format=mixed
二、删除日志
1)手动删除日志
手动删除日志的基本语法如下:
PURGE {MASTER | BINARY} LOGS TO'log_name'
PURGE {MASTER | BINARY} LOGSBEFORE 'date'
①、查看当前日志:
show binary logs;
②、查看第一个二进制日志
show binlog events;
③、删除指定日志之前的日志
PURGE MASTER LOGS TO'mysql-bin.010';
④、删除指定日期之前的日志
PURGE MASTER LOGS BEFORE'2018-7-12 13:00:00';
⑤、删除N天前的日志
PURGE MASTER LOGS BEFOREDATE_SUB( NOW( ), INTERVAL N DAY);如下面的语句可以清除 7 天前的binlog,
PURGE MASTER LOGS BEFOREDATE_SUB( NOW( ), INTERVAL 7 DAY);
注意:BEFORE变量的date自变量可以为'YYYY-MM-DDhh:mm:ss'格式。MASTER和BINARY是同义词。
2)自动删除日志
①、第一种方式:设置日志保存时间
修改MySql的配置文件,设置以下属性:expire_logs_days=10。这个值根据实际情况来定。当然对于生产环境修改配置文件需要重启,这个代价可能会很大,还可以通过这个命令来修改生效set global expire_logs_days = 10;
②、第二种方式:设置定时任务
0 3 * * * `mysql -uroot -e 'PURGE BINARY LOGS BEFOREDATE_SUB( NOW( ), INTERVAL 7 DAY);'`
上面的命令是每天凌晨3点删除7天前的binlog:
mysql-bin.0000* 这些是mysql运行过程中的操作日志。
保留的话:当你数据丢失可用来恢复数据,当你需要主从复制时需要靠这些文件。
不保留的话:节省空间,加快mysql速度。
关闭办法:
找到my.cnf或者my.ini文件,把 “ log-bin= ” 这个参数用#号注释掉,然后重启mysql就可以。
折中办法:
在my.cnf或者my.ini文件中,log-bin参数后面,加入expire_logs_days=15。意思就是日志保留15天。然后重启mysql就可以。
linux中,是my.cnf。windows中,是my.ini。
LNMP一键安装包安装的MySQL默认是开启了日志文件的,如果数据操作比较频繁就会产生大量的日志,在/usr/local/mysql/var/下面产生mysql-bin.0000* 类似的文件,而且一般都在几十MB到几个GB,更甚会吃掉整个硬盘空间,从来导致mysql无法启动或报错
如何关闭MySQL的日志功能:删除日志:执行:/usr/local/mysql/bin/mysql -u root -p
输入密码登录后再执行:reset master;
再输入:quit 退出mysql命令模式。
彻底禁用MySQL日志:修改/etc/my.cnf 文件,
找到log-bin搜索=mysql-binbinlog_format=mixed再这两行前面加上#,
将其注释掉,再执行/etc/init.d/mysql restart即可。
或直接去目录/usr/local/mysql/var/删除日志文件即可正常使用!
第一种方法:
mysql show binary logs; 查看mysql bin-log日志,除了这个以外的,其它都可以使用删除。
mysql purge binary logs to 'binlog.000058'; (删除mysql bin-log日志,删除binlog.000005之前的,不包括binlog.000058)
第二种方法:
进入数据库,查看一下当前使用的binlog日志是哪个,除了这个以外的,其它都可以使用rm -rf 删除!