这是有效的,但不是按用户/数据库过滤
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这将返回错误
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/'错误
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.
...发布于 2016-02-08 20:43:26
1-你是否在使用{db}属性来过滤表格("my_table")?尝试运行类似下面这样的命令来查看输入的可用属性:
pt-query-digest \
slow-queries160201.log \
--filter 'print Dumper $event' \
--no-report \
--sample 1这将打印一个参数列表,如Lock_time => '0.000026',您可以使用这些参数进行过滤。您可能不能按表进行筛选。
2-试试这个:
--filter '(($event->{db} || "") =~ m/mydb/) && ($event->{user} || "") =~ m/myuser/)'https://stackoverflow.com/questions/34300526
复制相似问题