mysql 包分析_分析MySQL网络包-阿里云开发者社区

前言

在没有来阿里云之前,有些信息采集的不是那么全,经常用percona的工具,对于非阿里云的客户,或者您的信息采集的不是那么全的情况下,我相信这个工具会给您带来很大的便利。

MySQL信息采集

对于DBA来说除了qps,tps,系统状态的监控之外,SQL的采集这是非常重要的一块,如果要想采集SQL的话,一般有几种途径:

开general_log

这个开销非常大,每条SQL都会记入general_log

抓TCP包

抓包方式常用的就是tcpdump,这种方式的代价要小得多

tcpdump -i en1 -s 65535 -x port 3306

想记录下来

tcpdump -i en1 -s 65535 port 3306 -x -q -n -tttt > mysql_tcpdump.txt

记录下来就要看包里的内容了,怎么看呢?

pt-query-digest

tcpdump -s 65535 -x -nn -q -tttt -i any -c 1000 port 3306 > mysql.tcp.txt

pt-query-digest --type tcpdump mysql.tcp.txt

或者

#!/bin/bash

tcpdump -i any -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.=" $_";

}

}'

虽然percona的包在6,7年前都已经出来,原来还是mk-系列,但是老工具拿来温习下效果也是非常不错的。

参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值