我过去常常运行这个命令:

Tcpdump -i lo端口3306 -s 65535 -x -n -q -tttt > pt.log;——type=tcpdump pt.log

但它对我不起作用了。我无法指出这个问题,因为我在不同的Debian版本和不同的percona服务器版本,不同的percona工具包版本上都遇到过这个问题,我甚至可以用mariadb重现。雷竞技下载官网

我得到的错误是:

管道进程4 (MySQLProtocolParser)导致错误:参数" "在乘法中不是数字()在/usr/bin/pt-que
第8行<$fh>。
将重试管道进程3 (MySQLProtocolParser) 100多次。
管道进程4 (MySQLProtocolParser)导致错误:参数" "在乘法中不是数字(
)在/usr/bin/pt-que
第455行,<$fh>行。
将重试管道进程3 (MySQLProtocolParser) 99次以上。

将重试管道进程3 (MySQLProtocolParser) 1次。
管道进程4 (MySQLProtocolParser)导致了一个错误:参数" "不是倍数的数字
查询(*)在/usr/bin/pt-query-digest行4505,<$fh>行210。
终止管道,因为进程3 (MySQLProtocolParser)导致太多错误。

怎么了?

你好,
你能分享一下转储文件吗?

我发布了一个日志,它应该只包含一个查询[url]https://ctors.net/pub/pt.log [/ url]

我也有同样的问题。有趣的是,如果我将计算机时钟上的日期更改回2019并收集tcpdump, pt-query-digest解析该文件没有问题。但是,现在收集的任何具有正确日期的文件都会出现像上面发布的tloy这样的错误。我似乎不明白为什么新的一年可能会把事情抛之脑后。

我附上了一个7z档案,其中有两个pcaps,一个是去年的(工作),一个是今天的(不工作)。删除.txt扩展名。

你好,usafbeach,谢谢你的报道,我会让团队注意到的。
不过,我已经删除了附件,因为我们不接受存档文件。你可以把它留在那里,或者你可以使用外部主机的pcap
让我们看看团队是否需要他们?

你好,你能把这些pcaps上传到/作为gist吗?[URL]https://gist.github.com/ [/ URL]
然后我就可以让开发团队进行审查。谢谢!

嗨,洛林,谢谢你的回复。希望你不介意,但是将文件上传到github仓库更容易:

[URL]https://github.com/0xBEAKER/0xBEAKER.github.io/blob/master/files/tcpdump2019.pcap [/ URL]
[URL]https://github.com/0xBEAKER/0xBEAKER.github.io/blob/master/files/tcpdump2020.pcap [/ URL]

这应该也可以,我会通知开发团队: slight_smile:

我的新pcap也有同样的问题。我在vim中打开了一个小pcap,并将所有日期从“2020-01-08”更改为“2019-01-08”。Pt-query-digest不再出错。
我们离未来太远了。请制造一台时光机,这样我们就可以回到几年前,当pt-query-digest还能用的时候。或者随便你怎么想。

谢谢你!

你好,
修复工作正在进行中。我认为这与这个问题有关:[url]https://github.com/雷竞技下载官网percona/percona-toolkit/pull/434 [/ url]

修复工作。谢谢大家!

该修复已经合并到3.0分支中,并将在下一个版本中发布

嘿,伙计们!
这种方法对我也有一段时间有效。2月4日是我最后一次执行pt-query-digest命令,它工作得很好!
今天,07 Fev返回一个新的错误,我没有触摸任何东西。这是一个crontab脚本…错误是:

管道进程3 (TcpdumpParser)导致一个错误:在/usr/bin/pt-query-digest行3683的模式匹配(m//)中使用未初始化的值$source, <$fh>块1。
将重试管道进程2 (TcpdumpParser) 100多次。
TCP会话10.8.0.2:57218有错误,将它们保存在/tmp/pt-query-digest-errors中。L9yj1ui
管道进程3 (TcpdumpParser)导致一个错误:在/usr/bin/pt-query-digest行3683的模式匹配(m//)中使用未初始化的值$source, <$fh>块17。
将重试管道进程2 (TcpdumpParser) 99次。

我该怎么办?
其尴尬……

谢谢你! !

你好,

这是另一种错误。我需要tcpdump文件的步骤来重现它。
你能提供吗?

谢谢

嘿!不好意思,这个错误还在…

Crontab - e

@重启屏幕-dmS bTCP;睡眠5;/usr/sbin/tcpdump -i any port 3306 -S 65535 -X -nn -q -tttt> /etc/path/to/tcpdump_3306.out\n'

我通过一个脚本执行这个命令:

操作系统。System(“pt-query-digest——report-format query_report——type tcpdump /etc/path/to/tcpdump_3306”)。输出> /etc/path/to/log-mysql.txt

错误:

管道进程3 (TcpdumpParser)导致一个错误:在/usr/bin/pt-query-digest行3683的模式匹配(m//)中使用未初始化的值$source, <$fh>块1。将重试管道进程2 (TcpdumpParser) 100多次。管道进程3 (TcpdumpParser)导致了一个错误:substr在/usr/bin/pt-query-digest行3701处的字符串之外,<$fh> chunk 59。将重试管道进程2 (TcpdumpParser) 99次。

发生了什么?困惑:

编辑:

第3683行有以下内容:

$args{oktorun}-如果$args{oktorun};

LINE 3701有以下内容:

My $ip_hlen = hex(substr($data, 1,1));#头中32位字的个数。

这是因为我在第3682行添加了一条注释,它可能与原来的注释不同。

[COLOR = # FF0000]编辑2:

出现新的错误:

管道进程4 (MySQLProtocolParser)导致了一个错误:substr在/usr/bin/pt-query-digest第4602行之外,<$fh>第483行。

那一行有以下内容:

PTDEBUG & & _d(的数据:元数据,第一个字节:,first_byte美元);

carlos.salguero嘿,伙计!你能帮帮忙吗?我真的需要使用Percona Toolki雷竞技下载官网t,谢谢。

我真的需要解决这个问题…拜托。

我注意到Carlos在几周前请求了tcpdump,我怀疑如果没有这个,他就帮不上什么忙了。

由于这是一个免费的开源论坛,我们不能承诺在任何给定的时间框架内做出回应,因为团队可能有更高优先级的任务,比如从事新软件项目开发或与客户合作。我能理解这可能令人沮丧,但这是现实。

如果没有tcpdump,我怀疑花费在跟踪问题上的时间是徒劳的。

如果问题是业务影响,你需要我们的付费支持,那么我能让你与人联系,可以帮助你。

我明白,但这个问题我解决不了。这就是为什么我需要一些帮助,我现在没有能力支付。我会等待软件包的新更新…

我看到与hmota相同的错误,tcpdump附加
想知道它是否与IPv6有关?

mysqltcpdump.txt.zip(3.8 MB)