mysql-bin系列日志文件导致linux vps磁盘占满及解决办法

蒲松林
发布时间:
2014年02月28日
所在分类:
工作
评论数:
暂无

昨天在给VPS新增了vhost之后,就出现了一系列的怪问题,机器随后出现”假死”现象,仅仅是安装一个wordpress程序竟然出现超时现象,随后似乎自己的IP被墙了,晚上重启了机器更换了IP后发现能够正常访问,但是无法登录phpmyadmin似乎mysql服务出现了问题,ssh上去之后发现mysql服务无法启用,提示一个pid进程出现问题,再随后cat对应的err文件,通过google相关error message,竟然是说磁盘空间已满的缘故,赶紧df -h了一下,30G的磁盘空间,使用了29G+ 占用率99%,看来果真是这问题,于是赶紧清理掉一些上传的程序压缩包,释放了1G左右的空间后,再service mysql start成功启动服务,接着便马上收到dnspod的网站恢复访问的提醒邮件。

问题似乎解决了,但是一想不对,自己的东西加上系统文件总共也就10多G,其他多出来的是什么?通过du -s -h /* 一步步查下去,竟然发现:

Mysql日志文件

/usr/local/mysql/var下面的mysql-bin.0000系列文件占用磁盘空间达到惊人的22G+,通过搜索发现这些是数据库的操作日志,例如UPDATE一个表,或者DELETE一些数据,即使该语句没有匹配的数据,这个命令也会存储到日志文件中,还包括每个语句执行的时间,也会记录进去的。难怪磁盘空间会满,感情都是mysql的日志文件搞鬼呀!

知道了问题所在,那么接下来便是如何解决了,这些占用磁盘空间的日志文件可以通过mysql命令来将其清除掉即可,通过

输入mysql的root密码就可以进行mysql命令模式,再执行:

清除mysql日志即可,如下图:

清除Mysql日志文件

我们再查看空间容量时发现,已经空了恢复到本真的状态了:

Linux磁盘空间容量

 

到这里基本问题解决了,但是根本问题还没有解决,那就是mysql日志还会产生,所以我们还需要想办法将这些日志文件从根本上去除才行,最直接的就是让mysql不要去记录这些日志。

Mysql的配置信息存放在my.cnf的文件里面,我们先通过:

查找到my.cnf文件的存放位置,一般是在/etc/my.cnf,在里面找到:log-bin=mysql-bin并将其注释掉重启mysql即可生效了!这样便不会产生mysql-bin系列日志文件了。至此,问题才算是解决了。

 

你可能感兴趣的文章:

发表评论