解决方法:
分区被日志文件占满致使MySQL死掉,清空mysql日志文件方法
2011-06-07 21:33php
环境:mysql5.1.50
配置文件中 log-bin=mysql-bin选项开启html
朋友的网站忽然index.php提示数据库链接失败,而后打电话给我。mysql
我一想能够是mysql死掉了,用命令重启一下,老提示错误。接着我df了一下,发现 /usr分区满了。心想确定是日志文件的缘由。进数据库文件目录du -sh了一下,好几个G,10多个mysql-bin.000015日志文件,我想删除掉,但是没那样作,为了数据安全仍是从网上查找安全的解决办法吧。linux
解决以下:sql
一、清理了/usr/local下tar软件,移到其它地方了。数据库
二、有了180多M剩余空间,能够启动mysql了安全
service mysqld restart服务器
三、进入mysql执行:网站
mysql> show master logs; //查看日志spa
mysql> reset master; //删除列于索引文件中的全部二进制日志,把二进制日志索引文件从新设置为空,并建立一个新的二进制日志文件
四、注销掉/etc/my.cnf中的
# log-bin=mysql-bin 用于产生二进制日志文件的
若是没有从服务器的,把#server-id = 1 也注销掉
五、再重启 mysql服务就能够了
===扩展=========================================================================
说明:删除日志,还能够用PURGE MASTER 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 ’2003-04-02 22:46:26′;
BEFORE变量的date自变量能够为’YYYY-MM-DD hh:mm:ss’格式。MASTER和BINARY是同义词。
若是您有一个活性的从属服务器,该服务器当前正在读取您正在试图删除的日志之一,则本语句不会起做用,而是会失败,并伴随一个错误。不过,若是从属服务器是休止的,而且您碰巧清理了其想要读取的日志之一,则从属服务器启动后不能复制。当从属服务器正在复制时,本语句能够安全运行。您不须要中止它们。
要清理日志,需按照如下步骤:
1. 在每一个从属服务器上,使用SHOW SLAVE STATUS来检查它正在读取哪一个日志。
2. 使用SHOW MASTER LOGS得到主服务器上的一系列日志。
3. 在全部的从属服务器中断定最先的日志。这个是目标日志。若是全部的从属服务器是更新的,这是清单上的最后一个日志。
4. 制做您将要删除的全部日志的备份。(这个步骤是自选的,可是建议采用。)
5. 清理全部的日志,可是不包括目标日志。
13.6.1.2. RESET MASTER语法
RESET MASTER
能够删除列于索引文件中的全部二进制日志,把二进制日志索引文件从新设置为空,并建立一个新的二进制日志文件。
from: http://www.xqs.cn/?p=1155
项目立刻要上线了,今天用的mysql数据库忽然扔出个异常:
2011-12-24_14:06:47.524 WARN o.h.util.JDBCExceptionReporter - SQL Error: 1030, SQLState: HY000
2011-12-24_14:06:47.524 ERROR o.h.util.JDBCExceptionReporter - Got error 28 from storage engine
上网搜一下,有的说是mysql的tmp满了,等等,看了一下也没满!有的要改mysql的配置去..,翻了好几个地方,居然是同一篇东西转来转去搞的,唉,失望!
不过感受思路应该是没错了,因此接着看了一下磁盘空间,发现居然是根目录满了
[root@twap /]#
[root@twap /]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda5 9.5G 5.2G 0 100% /
/dev/sda3 48G 3.3G 42G 8% /var
/dev/sda2 73G 44G 26G 64% /data0
/dev/sda1 965M 25M 891M 3% /boot
tmpfs 1.8G 0 1.8G 0% /dev/shm
none 1.8G 104K 1.8G 1% /var/lib/xenstored
[root@twap /]#
清理后:
[root@twap /]#
[root@twap /]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda5 9.5G 5.2G 3.9G 57% /
/dev/sda3 48G 3.3G 42G 8% /var
/dev/sda2 73G 44G 26G 64% /data0
/dev/sda1 965M 25M 891M 3% /boot
tmpfs 1.8G 0 1.8G 0% /dev/shm
none 1.8G 104K 1.8G 1% /var/lib/xenstored
[root@twap /]#
ok,问题解决了!
from: http://blog.sina.com.cn/s/blog_7d31bbee0100yjw3.html
统计linux下某个文件夹的大小
du -sh ./