[MySQL FAQ]系列 -- 利用tcpdump简易抓取MySQL Query Log
原文参考: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 关键字。
评论
游客 (未验证)
周日, 2011/02/20 - 16:52
Permalink
你这是bash脚本嘛
你这是bash脚本嘛 怎么看怎么是perl
游客 (未验证)
周日, 2011/04/10 - 22:38
Permalink
这个是在bash脚步中使
这个是在bash脚步中使用了perl