Total Pageviews

Thursday, 7 September 2017

MySQLSniffer的安装使用

MySQLSniffer是个不错的调试工具,在客户端、WebServer端无法有效跟踪特定SQL查询的时候,MySQLSniffer尤其有用。
虽然我们可以打开MySQL的所有SQL语句记录设置,设置方法,在my.cnf的mysqld项下加入:
1log=/var/mysqllog/sql.log
但是这样做,會记录全部SQL查询,如果网站访问量很大,日志增长也会很快,容易导致硬盘满,也不方便分析SQL语句,同时也会增加数据库服务器负担。而MySQLSniffer可以不必生成日志文件,且可以跟踪特定的SQL查询,所以这时候就是MySQLSniffer发挥作用的时候。

MySQLSniffer安装

1yum install libpcap libpcap-devel #需要libpcap支持
2mkdir mysqlsniffer
3cd mysqlsniffer
4wget http://hackmysql.com/code/mysqlsniffer.tgz
5tar -xvzf mysqlsniffer.tgz
6gcc -O2 -lpcap -o mysqlsniffer mysqlsniffer.c packet_handlers.c misc.c
7cp mysqlsniffer /usr/bin

MySQLSniffer用法:

01mysqlsniffer [OPTIONS] INTERFACE
02 
03OPTIONS:
04--port N        Listen for MySQL on port number N (default 3306)
05--verbose       Show extra packet information
06--tcp-ctrl      Show TCP control packets (SYN, FIN, RST, ACK)
07--net-hdrs      Show major IP and TCP header values
08--no-mysql-hdrs Do not show MySQL header (packet ID and length)
09--state         Show state
10--v40           MySQL server is version 4.0
11--dump          Dump all packets in hex
12--help          Print this

MySQLSniffer信息过滤:

1mysqlsniffer eth1 | grep \'COM_QUERY\'

No comments:

Post a Comment