当前位置: 首页 > 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 开源成功的秘密
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • Centos6.8 使用rpm安装mysql5.7
  • Effective Java 笔记(一)
  • React系列之 Redux 架构模式
  • Wamp集成环境 添加PHP的新版本
  • 阿里研究院入选中国企业智库系统影响力榜
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 老板让我十分钟上手nx-admin
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 网页视频流m3u8/ts视频下载
  • AI算硅基生命吗,为什么?
  • gunicorn工作原理
  • 仓管云——企业云erp功能有哪些?
  • 关于Android全面屏虚拟导航栏的适配总结
  • 说说我为什么看好Spring Cloud Alibaba
  • #AngularJS#$sce.trustAsResourceUrl
  • #HarmonyOS:基础语法
  • #stm32驱动外设模块总结w5500模块
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (1)STL算法之遍历容器
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (C++17) std算法之执行策略 execution
  • (pojstep1.3.1)1017(构造法模拟)
  • (翻译)terry crowley: 写给程序员
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (原創) 物件導向與老子思想 (OO)
  • (转)使用VMware vSphere标准交换机设置网络连接
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • ./和../以及/和~之间的区别
  • .net mvc部分视图
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • .net知识和学习方法系列(二十一)CLR-枚举
  • [240527] 谷歌 CEO 承认 AI 编造虚假信息问题难解(此文使用 @gemini 命令二次创作)| ICQ 停止运作
  • [ai笔记3] ai春晚观后感-谈谈ai与艺术
  • [Cocoa]iOS 开发者账户,联机调试,发布应用事宜
  • [codevs 1515]跳 【解题报告】
  • [CSS] 点击事件触发的动画
  • [ERROR] Plugin 'InnoDB' init function returned error