专注各种脚本编程
Baidu
加入收藏夹
本站内容有下面分类知识,欢迎您的到来^_^
shell相关:指令篇 基础篇 脚本欣赏 编程实例 shell问问 shell视频教程 技巧篇 水平测试 E文资料 vi编辑器 高级Bash脚本编程指南
其他:mysql perl c语言 oracle
当前位置:| 主页>mysql>

C语言编写的mysqlsniffer--mysql性能监控

百度收藏 QQ搜藏

mysqlsniffer


mysqlsniffer是基于TCP/IP网络协议,用来监视mysql性能的tcpdump的mysql版本。mysqlsniffer是用C语言编写的,需要pcap库支持和工作在Mysql 4.0以上版本。mysqlsniffer可以说只是一个特别的mysql网络嗅探器。

如果你对mysql 协议感兴趣的话,可以参考mysql 手册的第七章-MySQL Client/Server Protocol内容。

下载mysqlsniffer源代码

点击链接下载mysqlsniffer
或者在终端用命令下载,如下:

wget hackmysql.com/code/mysqlsniffer.tgz

使用命令"mysqladmin -u root -h 127.0.0.1 processlist"查看MySQL网络协议传输:

mysqlsniffer listening for MySQL on interface lo port 3306
server > 127.0.0.1.3051: ID 0 len 70 Handshake  (Caps: Get all column flags, Connect w/DB, Compression, )
127.0.0.1.3051 > server: ID 1 len 38 Handshake (new auth) <user root db (null) max pkt 1073741824> (Caps: Long password, Get all column flags, LOAD DATA LOCAL, 4.1 protocol, Transactions, 4.1 authentication, )
server > 127.0.0.1.3051: ID 2 len 7 OK  (Status: Auto-commit, )
127.0.0.1.3051 > server: ID 0 len 17 COM_QUERY: show processlist
server > 127.0.0.1.3051: ID 1 len 1 8 Fields
        ID 2 len 24 Field: ..Id
        ID 3 len 26 Field: ..User
        ID 4 len 26 Field: ..Host
        ID 5 len 24 Field: ..db
        ID 6 len 29 Field: ..Command
        ID 7 len 26 Field: ..Time
        ID 8 len 27 Field: ..State
        ID 9 len 26 Field: ..Info
        ID 10 len 5 End  (Status: Auto-commit, )
        ID 11 len 49 || 1 | root | localhost:3051 | NULL | Query | 0 | NULL | show processlist ||
        ID 12 len 5 End  (Status: Auto-commit, )
127.0.0.1.3051 > server: ID 0 len 1 COM_QUIT
mysqlsniffer exited cleanly.
17 MySQL packets captured (469 bytes)

上一篇:简单的MySQL SQL Profiler性能分析器脚本 下一篇:完美解决Mysql 4.1语言问题的方法

power by soyo123 2007-2008