首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用tcpdump收集来自多个数据库的查询的pt-升级运行中,“没有选择的数据库”或“表'DB.table‘不存在”失败。

在使用tcpdump收集来自多个数据库的查询的pt-升级运行中,“没有选择的数据库”或“表'DB.table‘不存在”失败。
EN

Database Administration用户
提问于 2015-06-03 21:18:29
回答 3查看 818关注 0票数 2

我使用以下tcpdump命令收集了关于Master的查询:

代码语言:javascript
复制
tcpdump -i any -s 65535 -x -n -nn -q -tttt 'port 3306' > tcpdump.tcp

查询在多个数据库中执行。

然后,我使用以下命令通过pt查询摘要运行该文件:

代码语言:javascript
复制
pt-query-digest --output=slowlog --no-report --sample 100 --type tcpdump tcpdump.tcp > slow.log

然后我和两个奴隶发生了这样的冲突:

代码语言:javascript
复制
pt-upgrade --user user --ask-pass --run-time=1h --upgrade-table percona.pt_upgrade h=10.1.1.1 h=10.1.1.2 slow.log

但是我遇到了很多故障,因为它似乎没有指定应该对哪个数据库执行查询。

当在多个DB中收集查询时,应该如何使用pt-升级?AFAICT在任何地方的文档中都没有指定。

您是否应该使用--过滤器与pt-查询摘要-只输出特定数据库的查询,然后指定-数据库与pt-升级?对每个数据库进行清洗和重复。

解析我庞大的tcpdump捕获需要几个小时,所以这里的任何指导都是值得赞赏的。

谢谢!

附注:

我用这个文章作为起点,但它已经过时了。例如pt-查询摘要不再有--打印选项。

EN

回答 3

Database Administration用户

回答已采纳

发布于 2015-06-06 18:57:11

  • 如果你漏掉样本,它还不能用吗?
  • (自手册)

还要注意,pt-查询摘要在解析tcpdump输出时可能无法报告查询的数据库。数据库仅在新客户端的初始连接事件中或在执行时才会被发现。如果tcpdump输出既不包含这两种内容,那么pt-查询摘要就无法发现数据库。

  • 考虑使用通用日志而不是tcpdump?
票数 2
EN

Database Administration用户

发布于 2015-06-18 15:32:10

我也有类似的问题。我有丢失的桌子和丢失的使用状态。有时USE语句会出现,但是有错误的数据库。我用了一个很简单的解决办法。

(序曲)我的第一期:我的slow.log是60 so长

  1. 我将其拆分,选项-l设置为2000万(大约为每个文件1Go ),请确保没有在文件之间使用head -numberoflines ab >>aa编辑它们的语句。
  2. 找到问题根源所在的语句(用更少的打开,您不希望内存中有1Go和VI)。
  3. 使用sed -e '/nameofscriptinyourfilewhichisinthefirstline.php/,+nd‘进行sed

您需要编辑的行数为n。(从我的观点来看,开发人员需要将这些信息用于调试,这也是我们历史框架的一部分)。

  1. 将此问题告知开发人员,并再次运行您编辑的慢速日志。
  2. 重复步骤2到4,直到您没有发现更多的这些错误。您可以通过以下命令运行sed列表: sed -e‘.’x sed -e‘.’x sed -‘.’> correct_aa

Fianl问题:我发现带有like和"%“的查询也很痛苦,因为解析器无法理解它们。(仍在寻找解决办法)。

如果这能帮上忙我很高兴。它是不干净的,它是长的,但它允许我找到所有的查询不符合我们的框架,尽管他们在某种程度上使它的刺激。而且,由于我们的mysql版本已经很晚了,我很高兴最终能让它们为我工作。;)

这是我的第一篇帖子。

票数 2
EN

Database Administration用户

发布于 2015-06-22 19:24:21

我们最终所做的是将基于表名的slow.log查询保存到特定于数据库的(raw)日志文件中。然后,我们指定了-类型rawlog和-数据库与pt-升级。

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/103198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档