当前位置: 首页 > news >正文

mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...

版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。 https://blog.csdn.net/wireless_com/article/details/51615627

系统性能调优尤其是mysql数据库性能调优一个主要依据就是慢查询日志了。原来在ubantu 或centos 上有一个强大工具就是 percona toolkit,那么在mac 上如何使用pt-query-digest呢?

下载 percona toolkit

访问 http://www.percona.com/downloads/percona-toolkit , 采用源代码安装,下载最新稳定版2.2.7。

这里写图片描述

安装 并预先填好安装过程中的那些坑

进入下载的目录,开练:

$ tar xvfz percona-toolkit-2.2.7.tar.gz
$ cd percona-toolkit-2.2.17

注意一下perl 的版本要是5.18以上。

Perl,多年前热衷的语言,呵呵。试运行一下 perl Makefile.PL 看一下输出:

Checking if your kit is complete...

Looks good

Warning: prerequisite DBD::mysql 3 not found.

Warning: prerequisite DBI 1.46 not found.

Warning: NAME must be a package name

Generating a Unix-style Makefile

Writing Makefile for percona-toolkit

Writing MYMETA.yml and MYMETA.json

关注一下这几个warning,都可能是坑,尤其是DBD和DBI,没有它们,怎么实现数据库连接呢? 安装一下perl 的相关模块吧。

$ perl -MCPAN -e "install DBI”
$ perl -MCPAN -e "install DBD::mysql"

注意,如果出现了permission 问题,要用一下sudo.

现在,可以安装 percona toolkit了,尤其主要是指定 mysql_config 的PATH。

$ perl Makefile.PL --mysql_config=/local/mariadb/bin/mysql_config

然后,就是熟知的 make, make install 了,至此,安装完成。

检验与使用

在perl 中检验安装的模块,有两种方法:一种是执行命令perldoc perllocal,一种是执行 instmodsh,简单起见,这里用instmodsh,运行及输出如下:

$ instmodsh
Available commands are:
   l            - List all installed modules
   m <module>   - Select a module
   q            - Quit the program
cmd? l
Installed modules are:
   Authen::SASL
   CGI
   Cwd
   DBD::mysql
   DBI
   Digest::HMAC
   Digest::SHA1
   Error
   File::Slurp::Tiny
   GSSAPI
   Git
   HTML::Parser
   HTML::Tagset
   IO::Socket::SSL
   Locale::gettext
   Net::LibIDN
   Net::SMTP::SSL
   Net::SSLeay
   ...

现在,就可以在Mac 上象其它Linux 平台那样使用percona toolkit 了。 回到目标主题,分析慢查询:

$ pt-query-digest ~/mysql-slow.log

远程执行会有的慢,这里是将慢查询日志拖到本地运行的,可以得到比较有价值的分析结果。

相关文章:

  • Unity3D 之3D游戏角色控制器运动
  • linux下smb文件共享服务器详解
  • 几何画板中作函数图像的几种方法
  • HighCharts 详细使用及API文档说明
  • HTML最新标准HTML5小结
  • Docker的镜像、容器和仓库
  • 互联网
  • iOS开发--利用MPMoviePlayerViewController播放视频简单实现
  • Oracle数据库设计第三范式
  • 人月神话阅读笔记之三
  • laravel5入门(三)
  • 关于虚拟机能ping通物理机,而物理机ping不通虚拟机问题解决。
  • iis7 appcmd的基础命令及简单用法
  • 《OpenStack 实战》内容概览与作者采访
  • LinkedIn 开源成功的秘密
  • ----------
  • [deviceone开发]-do_Webview的基本示例
  • css布局,左右固定中间自适应实现
  • gf框架之分页模块(五) - 自定义分页
  • MYSQL 的 IF 函数
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 容器服务kubernetes弹性伸缩高级用法
  • 什么是Javascript函数节流?
  • 使用Swoole加速Laravel(正式环境中)
  • 思维导图—你不知道的JavaScript中卷
  • 网络应用优化——时延与带宽
  • 小程序 setData 学问多
  • 一起参Ember.js讨论、问答社区。
  • - 转 Ext2.0 form使用实例
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • 我们雇佣了一只大猴子...
  • #Lua:Lua调用C++生成的DLL库
  • #图像处理
  • ${ }的特别功能
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (转)h264中avc和flv数据的解析
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • . Flume面试题
  • .net framework profiles /.net framework 配置
  • .NET导入Excel数据
  • .NET开发不可不知、不可不用的辅助类(三)(报表导出---终结版)
  • @FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本...
  • [1204 寻找子串位置] 解题报告
  • [Invalid postback or callback argument]昨晚调试程序时出现的问题,MARK一下
  • [Linux]进程间通信(system V共享内存 | system V信号量)
  • [Linux]进程间通信(进程间通信介绍 | 匿名管道 | 命名管道)