Sag*_*uri 7 toolkit mariadb percona ubuntu-16.04
我使用percona-toolkit来分析mysql-slow-query(logs).所以命令非常基本:
pt-query-digest slowquery.log
现在结果(错误)是:
18.2s用户时间,100ms系统时间,35.61M rss,105.19M vsz
当前日期:2016年7月7日星期四17:18:43
主机名:Jammer
文件:slowquery.log
管道进程5(迭代)导致错误:sprintf中的冗余参数位于/ usr/bin/pt-query-digest行2556.将重试管道进程4(迭代)2次.
.. ..(相同的结果打印两次)..
管道导致错误:管道进程5(迭代)导致错误:sprintf中的冗余参数位于/ usr/bin/pt-query-digest第2556行.由于进程4(迭代)导致过多错误,因此终止管道.
现在有关环境的细节,我使用的是Ubuntu 16.04,MariaDB 10.1.14,Percona-Toolkit 2.2.16
我在这里发现了bug报告,但它就像一个解决方法,并没有真正解决错误.即使在应用补丁之后,命令结果看起来也不够令人满意.
我在ubuntu 16.04 MySql上面临同样的问题.我的慢查询日志的内容如下.
/ usr/sbin/mysqld,版本:5.7.16-0ubuntu0.16.04.1-log((Ubuntu)).开始于:Tcp端口:3306 Unix套接字:/var/run/mysqld/mysqld.sock时间Id命令参数/ usr/sbin/mysqld,版本:5.7.16-0ubuntu0.16.04.1-log((Ubuntu)).开始于:Tcp端口:3306 Unix套接字:/var/run/mysqld/mysqld.sock时间Id命令参数时间:2016-12-08T05:13:55.140764Z User @ Host:root [root] @ localhost [] Id: 20 Query_time:0.003770 Lock_time:0.000200 Rows_sent:1 Rows_examined:2 SET timestamp = 1481174035; SELECT COUNT(*)FROM INFORMATION_SCHEMA.TRIGGERS;
错误是一样的:
管道导致错误:管道进程5(迭代)导致错误:sprintf中的冗余参数位于/ usr/bin/pt-query-digest第2556行.
Ubuntu 16.04 MySql Ver 14.14 Distrib 5.7.16 pt-query-digest 2.2.16
该错误似乎在当前版本的工具包(2.2.20)中得到修复,显然在之前版本中从2.2.17开始修复.
这个补丁似乎可以解决这个特定的地方pt-query-digest:
--- percona-toolkit-2.2.16/bin/pt-query-digest 2015-11-06 14:56:23.000000000 -0500
+++ percona-toolkit-2.2.20/bin/pt-query-digest 2016-12-06 17:01:51.000000000 -0500
@@ -2555,8 +2583,8 @@
}
return sprintf(
$num =~ m/\./ || $n
- ? "%.${p}f%s"
- : '%d',
+ ? '%1$.'.$p.'f%2$s'
+ : '%1$d',
$num, $units[$n]);
}
Run Code Online (Sandbox Code Playgroud)
但正如最初的问题和错误报告中提到的,相当多的工具/功能受到影响,完整的错误修复包括许多小的变化:https: //github.com/percona/percona-toolkit/pull/73/files
| 归档时间: |
|
| 查看次数: |
1345 次 |
| 最近记录: |