织梦CMS - 轻松建站从此开始!

罗索

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

落鹤生 发布于 2015-07-05 01:05 点击:次 
/usr/local/mysql/var下面的mysql-bin.0000系列文件占用磁盘空间达到惊人的22G+,通过搜索发现这些是数据库 的操作日志,例如UPDATE一个表,或者DELETE一些数据,即使该语句没有匹配的数据,这个命令也会存储到日志文件中,还包括每个语句执行的时间, 也会记录进去的。
TAG: mysql  mysql-bin  

昨天在给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命令来将其清除掉即可,通过

  1. /usr/local/mysql/bin/mysql -u root -p 

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

  1. mysql> reset master; 

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

清除Mysql日志文件

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

Linux磁盘空间容量

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

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

  1. fine / -name my.cnf 

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

(pusonglin)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201507/17344.html]
本文出处:pusonglin 作者:pusonglin 原文
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容