mysql查询的结果长度不一致_du 、ls 查看到文件大小 与 df 、lsof 的结果不一致的问题...

du 、ls 查看到文件大小 与 df 、lsof  的结果不一致的问题

现象:

[root@localhost ~]# df -h /

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda3             129G   22G  101G  18% /

[root@localhost ~]# du -sh /

13G     /

[root@localhost ~]# ll -h /var/lib/mysql/localhost.err

-rw-rw---- 1 mysql mysql 3.8K Sep 14 09:30 /var/lib/mysql-5.1.48/localhost.err

[root@localhost ~]# lsof -n|grep localhost.err

COMMAND     PID      USER   FD      TYPE             DEVICE       SIZE       NODE NAME

mysqld    28390     mysql    1u      REG                8,3 9895273063   30146639 /var/lib/mysql/localhost.err

mysqld    28390     mysql    2u      REG                8,3 9895273063   30146639 /var/lib/mysql/localhost.err

统计结果的差别主要是因为这个文件:localhost.err  ,是mysql的日志文件,因为应用的SQL语句中包含limit 1,而binlog_format为STATEMENT,所以mysql一直会有报错信息写入日志文件中(这个问题参考http://bbs3.chinaunix.net/viewthread.php?tid=1471047)。

我觉得这个重复的报错信息会把日志文件写得很大,就用sed -i 定期修改mysql日志文件:

/bin/sed -i "/Statement may not be safe to log in statement format./d" /var/lib/mysql/localhost.err

后来就发现了这样的情况(du 、ls 查看到文件大小 与 df 、lsof  的结果不一致的问题),如果只是du 和 ls  统计文件大小有误也就无所谓了,问题是cat  localhost.err 也只看到很少几行文字,实际上mysql还在继续写错误日志到localhost.err(从lsof的结果可以看出),但是cat localhost.err 却看不到,这是不是就是文件系统不一致了?如何解决呢? 难道能用sed -i 修改msyql日志文件吗?

作者: wlong2000joint

发布时间: 2010-09-14

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值