設為首頁

收藏本站

導覽首頁 | 新登場    ◇聯盟溫泉 | 民宿 | 人力銀行 | 女性 |

類型:mysql_article

MYSQL流量异常问题处理
看到监控有台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看到真的某条语句产生的流量超大。干掉它。


主旨:

內容:




104休閒信箱 2.3.0 © 104mm.com 2001 - 2017. 您尚未登錄
Page generated in 0.00742197 seconds with 3 Queries