Linux磁盘空间爆满,导致网站502 以及MySQL无法启动

回复 收藏
今天收到监控邮件说博客访问失败。打开页面一看,登录后台出现502 Bad Gateway

http://img.8090st.com/2015/06/1.png



ping了一下VPS发现机器是通的,SSH连接上去看了下Nginx日志发现没问题,重启lnmp的时候发现Mysql起不来,问题源头基本找到。

http://img.8090st.com/2015/06/2.png

居然是因为磁盘100%爆满了无法导致Mysql起不来

du –h –max-depth=1 列出来usr目录占用了18G猜到是某些日志文件导致的原因

http://img.8090st.com/2015/06/3.png
/usr/ local 占用17G
#cd /usr/
#du –h –max-depth=1
http://img.8090st.com/2015/06/4.png

仔细想想机器local目录也没有安装什么软件。进到mysql/var/

果然啊,/var目录爆了。
http://img.8090st.com/2015/06/5.png

/usr /local/mysql/var下面的mysql-bin.0000系列文件占用磁盘空间达到惊人的17G+,通过搜索发现这些是数据库 的操作日志,例如UPDATE一个表,或者DELETE一些数据,即使该语句没有匹配的数据,这个命令也会存储到日志文件中,还包括每个语句执行的时间, 也会记录进去的。难怪磁盘空间会满,感情都是mysql的日志文件搞鬼呀!
知道了问题所在,那么接下来便是如何解决了,这些占用磁盘空间的日志文件可以通过mysql命令来将其清除掉即可,通过


# /usr/local/mysql/bin/mysql -u root -p
输入mysql的root密码进入mysql命令模式,再执行:
# mysql> reset master;
http://img.8090st.com/2015/06/6.png
用命令#df –h 查看空间容量时发现,已经恢复到原来的状态了:

http://img.8090st.com/2015/06/7.png


打开博客可以正常访问了


为了防止以后再次出现此类状况,直接关闭Mysql的log-bin日志功能。
#vim /etc/my.cnf
在里面找到:log-bin=mysql-bin并将其注释掉重启mysql即可生效了!这样便不会产生mysql-bin系列日志文件了。

#log-bin=mysql-bin;

:wq保存退出。

最后重新启动mysql
/usr/local/mysql/bin/mysqld start
Starting MySQL. SUCCESS!
启动成功!


2016-01-12 18:09 举报
已邀请:
0

boy461205160

赞同来自:

支持原创,反对盗版。
0

Linux-Linux

赞同来自:

关闭Mysql的log-bin日志功能,那mysql主从就做不了了
0

Linux-Linux

赞同来自:

关闭Mysql的log-bin日志功能,那mysql主从就做不了了
0

迷城

赞同来自:

Linux-Linux 发表于 2016-1-13 11:49
关闭Mysql的log-bin日志功能,那mysql主从就做不了了

是的。线上服务器磁盘空间肯定很大的。要做主从就不需要关闭
0

lyhabc

赞同来自:

谢谢分享
0

krven

赞同来自:

建议做个日志切割!定期删除
0

echo

赞同来自:

学习
0

沧海一叶

赞同来自:


学习
0

snake

赞同来自:

学习
0

沧海一叶

赞同来自:

学习了
0

soul

赞同来自:

日志切割脚本还是必须要写一个的,如果不记录这些日志就不能做主从,可以将日志每天mv一次到一个目录下去,然后定期删除时间超过XX天的log文件。
0

且听风吟

赞同来自:

话说mysql可以做日志切割么?
0

balich

赞同来自:

你的是个人博客吧 。
0

迷城

赞同来自:

balich 发表于 2016-3-13 08:36
你的是个人博客吧 。

个人博客

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: