mysql的binlog太大太多占用大量磁盘


关键词

mysql binlog 磁盘

摘要

网站访问越来越慢,最后无法访问了,经过检查发现磁盘满了。仔细查询下来确认是由于mysql的binlog太多太大占用了空间
现象:网站访问越来越慢,最后无法访问了,经过检查发现磁盘满了。仔细查询下来确认是由于mysql的binlog太多太大占用了空间。

分析过程及解决方案:通常出现这种问题都应该登录服务器检查磁盘、内存和进程使用的情况,通过top、df –h和free –m来检查,发现磁盘空间满了。再进一步通过du –sh对可以的目录进行检查,发现是mysql的binlog占用空间过大。清理binlog的方法如下:
1) 设置日志保留时长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

2) 手动删除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);

 

文章的版权

本文来源于互联网,如果文章侵犯了您的权宜,请与我们“splaybow(@)qq.com”联系,谢谢合作!

关注与收藏

如果您在服务器运维、网络管理、网站或系统开发过程中有任何疑问,洪哥以此为饭碗,请加QQ:115085382!
了解更多好文章,请关注我们的新浪微博和腾讯微博
亲,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D


« Phpmyadmin提示错误信息 关于加强MYSQL安全的几点建议 »

相关文章:

MySQL表如何选择MyISAM和InnoDB引擎  (2017/1/7 7:23:00)

MySQL索引覆盖  (2017/1/4 7:06:51)

mysql中如何实现select into的效果  (2016/9/1 7:41:26)

mysql多字段分组统计  (2016/6/1 7:20:37)

mysql之alter表的SQL语句集合  (2016/4/22 11:22:34)

MySQL多表联合更新  (2015/9/12 15:49:02)

mysql的limit子句  (2015/8/10 9:27:57)

在MySQL的SQL语句中使用md5加密函数  (2015/7/3 13:39:53)

mysql的sql转义字符  (2015/5/14 8:14:31)

MySQL分类表模板  (2015/4/27 8:03:36)