首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pt-query-digest按用户和数据库过滤查询

pt-query-digest按用户和数据库过滤查询
EN

Stack Overflow用户
提问于 2015-12-16 06:20:02
回答 1查看 689关注 0票数 0

这是有效的,但不是按用户/数据库过滤

代码语言:javascript
复制
pt-query-digest /var/lib/mysql/mysql-slow.log --since="$(date +%Y-%m-%d -d '1 day ago')" --user=phpmyadmin --database=my_table --limit 20

这将返回错误

代码语言:javascript
复制
pt-query-digest /var/lib/mysql/mysql-slow.log --since="$(date +%Y-%m-%d -d '1 day ago')" --limit 20 --filter '$event->{db} eq "my_table" && $event->{user} =~ /phpmyadmin/'

错误

代码语言:javascript
复制
Pipeline process 12 (filter) caused an error: Use of uninitialized value in string eq at (eval 33) line 1, <$fh> line 149273.
Will retry pipeline process 11 (filter) 100 more times.
Pipeline process 12 (filter) caused an error: Use of uninitialized value in string eq at (eval 33) line 1, <$fh> line 149274.
...
EN

回答 1

Stack Overflow用户

发布于 2016-02-08 20:43:26

1-你是否在使用{db}属性来过滤表格("my_table")?尝试运行类似下面这样的命令来查看输入的可用属性:

代码语言:javascript
复制
pt-query-digest                    \
slow-queries160201.log             \
--filter 'print Dumper $event'  \
--no-report                        \
--sample 1

这将打印一个参数列表,如Lock_time => '0.000026',您可以使用这些参数进行过滤。您可能不能按表进行筛选。

2-试试这个:

代码语言:javascript
复制
--filter '(($event->{db} || "") =~ m/mydb/) && ($event->{user} || "") =~ m/myuser/)'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34300526

复制
相关文章

相似问题

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