刚才在使用pt-query-digest分析慢查询日志的时候,当我优雅的敲出 sudo pt-query-digest /var/lib/mysql/yang-K45VD-slow.log
,此时终端并没有像我所希望的那样,现实慢查询的分析结果。而是报了一堆错
Pipeline process 5 (iteration) caused an error: Redundant argument in sprintf at /usr/bin/pt-query-digest line 2556. Will retry pipeline process 4 (iteration) 2 more times.
Pipeline process 5 (iteration) caused an error: Redundant argument in sprintf at /usr/bin/pt-query-digest line 2556. Will retry pipeline process 4 (iteration) 2 more times.
The pipeline caused an error: Pipeline process 5 (iteration) caused an error: Redundant argument in sprintf at /usr/bin/pt-query-digest line 2556. Terminating pipeline because process 4 (iteration) caused too many errors.
复制代码
WTF? 检查了一下输的命令并没有什么问题,好像是pt-query-digest
内部自己出了问题。于是拿着报错信息去 Google 查了一下。发现在stackoverflow
上有 这么个解答,是的,你没看错,特么的就是pt-query-digest
的bug,而我使用 Ubuntu 的APT源安装的Percona Toolkit
版本好像是 2.1 (刚自己升级了,原来的版本给忘了),没办法只能自己去下载Percona Toolkit
的源码安装了。其实也很简单,命令如下:
# wget percona.com/get/percona-toolkit.tar.gz
# tar zxvf percona-toolkit-<version>.tar.gz
# cd percona-toolkit-<version>
# perl Makefile.PL
# make
# make test
# make install
复制代码
安装好了之后看一下版本,然后在使用qt-query-digest
分析一下慢查询日志。
搞定,睡觉~~~~~~~~~~~~~~~~~~~~~~~~~~~