MYSQL流量异常问题处理(原创)
(2011-11-03 12:22:39)
标签:
杂谈
今天突然看到监控有台MYSQL流量超大,什么原因呢,show
processlist又看不到,麻烦最后通过tcpdump抓出原凶。
抓取执行的语句
#!/bin/sh
tcpdump -i eth1 -s 0 -l -w - dst port 3307 | strings | perl -e
'while(<>) { chomp; next if /^[^ ]+[
]*$/;if(/^(SELECT|UPDATE|DELETE|INSERT|SET|COMMIT|ROLLBACK|CREATE|DROP|ALTER)/i)
{if (defined $q) { print "$q\n"; }
$q=$_;
} else {
$_ =~ s/^[ \t]+//; $q.=" $_";
}
}'
保存后直接执行,会列出目前语句。
然后通过语句来分析哪句流量造成的。脚本如下:
#!/bin/sh
DBUSER='root'
DBPASS='test'
tmpFile=$(mktemp)
BIN='/soft/mysql/bin/mysql'
while read line
do
$BIN -S /tmp/mysql.sock -u$DBUSER -p$DBPASS dx -Ne "$line;"
> $tmpFile
size=`du -sh $tmpFile`
echo "$size $line" >>
dumysql.log
然后去dumysql.log看到真的某条语句产生的流量超大。干掉它。
分享:
喜欢
0
赠金笔
加载中,请稍候......
评论加载中,请稍候...
发评论
登录名: 密码: 找回密码 注册记住登录状态
昵 称:
评论并转载此博文
发评论
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。