陈德馨

VPS磁盘爆满导致 ngnix 无法启动

1388人参与 |分类: 运维时间|时间:2015年03月20日 21:37

忽然发现网站打不开,数据库显示无法链接,数据库 phpmyadmin 管理面板也打不开,网站后台查看服务器硬盘居然满了,想想自己最近也没怎么折腾,服务器硬盘怎么突然,遂登录控制面板看了一眼。结果Disk usage直接爆满,红的相当感人。

实在是想不出什么占用了这么大的空间,直接重启看看,然后就没有然后了,因为重启完磁盘占用率依旧感人,同时 ngnix 没有启动。尝试手动启动,结果报错提示磁盘空间不足,无法启动 ngnix 服务器。最可悲的是 ssh 也因为磁盘空空间不足也连不上。

万幸的是 vps 的控制面板自带的简易shell还能用,输入 df -h 查看磁盘占用情况,结果是100%占用,然后一路 df -sh * 定位过去发现 mysql 目录下爆满(df -h查看哪个目录满,然后切款到该目录下后用df -sh *继续追踪),原来是装 LNMP 的时候默认开启了 mysql 的日志,然后满满的全是 mysql-bin.* 的日志文件。

mysqllog.jpg

原因解析:

LNMP一键安装包默认安装的 LNMP 一键包环境是没有关闭 MYSQL 日志的,如果数据操作比较频繁就会产生大量的日志,在 /usr/local/mysql/var/ 下面自动生成多个 mysql-bin.0000* 类似的文件,而且一般都在几十MB到几个GB,更甚会占用整个硬盘空间,从而导致 mysql 无法链接或网站报错。

解决方法:

1、直接删除已有日志文件 root@ludis:/usr/local/mysql/var# rm -f ./mysql-bin.*

执行 reset master,删除 mysql 日志是治标不治本。斩草除根,我们应该禁用 mysql 日志生成。

2、关闭Mysql的log-bin日志功能:

vim /etc/my.cnf

找到:

log-bin=mysql-bin
binlog_format=mixed

在前面加上 # 注释掉,:wq保存退出。

最后 service ngnix restart 即可。

来源:陈德馨博客(微信/QQ号:35435164),转载请保留出处和链接!

地址:

必填

选填

选填

◎已有 0 人评论,请发表您的观点。