转http://ourmysql.com/archives/520?f=wb
利用tcpdump简易抓取MySQL Query Log
2009-04-13 18:32:25 | 才被阅读:2,502 次 | 要评论?
分类: MySQL初级应用 | 发布: OurMySQL | 来源:叶金荣
标签: log, tcpdump
原文参考:http://www.davidodwyer.com/category/tags/tcpdump-mysql
#!/bin/bash
tcpdump -i eth0 -s 0 -l -w – dst port 3306 | strings | perl -e ‘
while(<>) { chomp; next if /^[^ ]+[ ]*$/;
if(/^(SELECT|UPDATE|DELETE|INSERT|SET|COMMIT|ROLLBACK|CREATE|DROP|ALTER|CALL)/i) {
if (defined $q) { print “$q\n”; }
$q=$_;
} else {
$_ =~ s/^[ \t]+//; $q.=” $_”;
}
}’
可以根据自己的需要稍微改改,我在这里只增加了对 CALL 关键字。
利用tcpdump简易抓取MySQL Query Log
2009-04-13 18:32:25 | 才被阅读:2,502 次 | 要评论?
分类: MySQL初级应用 | 发布: OurMySQL | 来源:叶金荣
标签: log, tcpdump
原文参考:http://www.davidodwyer.com/category/tags/tcpdump-mysql
#!/bin/bash
tcpdump -i eth0 -s 0 -l -w – dst port 3306 | strings | perl -e ‘
while(<>) { chomp; next if /^[^ ]+[ ]*$/;
if(/^(SELECT|UPDATE|DELETE|INSERT|SET|COMMIT|ROLLBACK|CREATE|DROP|ALTER|CALL)/i) {
if (defined $q) { print “$q\n”; }
$q=$_;
} else {
$_ =~ s/^[ \t]+//; $q.=” $_”;
}
}’
可以根据自己的需要稍微改改,我在这里只增加了对 CALL 关键字。
本文介绍了一种利用tcpdump工具抓取MySQL查询日志的方法,并通过正则表达式过滤出关键的SQL语句。该脚本能够帮助数据库管理员监控MySQL服务器上的活动,适用于需要对MySQL进行故障排查或性能调优的场景。
890

被折叠的 条评论
为什么被折叠?



