mariadb – 管道进程5(迭代)导致错误:sprintf中的冗余参数位于/usr/bin/pt-query-digest第2556行

我使用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-report找到了一些东西,但它就像一个解决方法,并没有真正解决错误.即使在应用补丁之后,命令结果看起来也不够令人满意.

我在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时间戳= 1481174035;
SELECT COUNT(*)FROM @R_929_4045@ION_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]);
 }

但正如原始问题和错误报告中所提到的,相当多的工具/功能受到影响,完整的错误修复包括许多小的更改:
https://github.com/percona/percona-toolkit/pull/73/files

相关文章

ubuntu退出redis的示例:指定配置文件方式启动源码redis:roo...
ubuntu中mysql改密码忘了的解决方法:1.在终端中切换到root权...
ubuntu安装mysql失败的解决方法原因:可能是原有的MySQL还有...
使用centos和ubuntu建站的区别有以下几点1.CentOS是Linux发行...
ubuntu图形界面和字符界面切换的方法:可以通过快捷键CTRL+A...
ubuntu中重启mysql失败的解决方法1.首先,在ubuntu命令行中,...