说明:

操作系统:CentOS 5.X 64位

MySQL版本:mysql-5.5.35

MySQL配置文件:/etc/my.cnf

MySQL 数据库存放目录:/data/mysql

实现目的:开启MySQL慢查询日志功能,安装使用MySQL慢查询分析mysqlsla

具体操作:

一、开启MySQL慢查询功能

mysql -u  root -p  #进入MySQL控制台

show variables like '%slow%';   #查看MySQL慢查询是否开启

set global slow_query_log=ON;   #开启MySQL慢查询功能

show variables like "long_query_time";  #查看MySQL慢查询时间设置,默认10秒

set global long_query_time=;  #修改为记录5秒内的查询

select sleep();  #测试MySQL慢查询

show variables like "%slow%";  #查看MySQL慢查询日志路径

show global status like '%slow%';  #查看MySQL慢查询状态

exit;  #退出MySQL控制台

cat /data/mysql/-slow.log  #查看MySQL慢查询日志是否被记录

备注:还可以通过修改MySQL配置文件参数,开启MySQL慢查询。

vi  /etc/my.cnf  #编辑,在[mysqld]段添加以下代码

slow-query-log = on  #开启MySQL慢查询功能

slow_query_log_file = /data/mysql/127-slow.log  #设置MySQL慢查询日志路径

long_query_time = 5  #修改为记录5秒内的查询,默认不设置此参数为记录10秒内的查询

log-queries-not-using-indexes = on  #记录未使用索引的查询

:wq! #保存退出

service mysqld restart #重启MySQL服务

二、安装使用MySQL慢查询分析工具mysqlsla

1、安装mysqlsla

yum install  wget  perl  perl-DBI  perl-DBD-MySQL  mysql  #执行此命令安装依赖包

cd /usr/local/src #进入软件包存放目录

# 下载连接有问题,源代码地址:https://github.com/daniel-nichter/hackmysql.com/tree/master/mysqlsla
# 最下面常见问题有CSDN的下载连接
wget http://hackmysql.com/scripts/mysqlsla-2.03.tar.gz #下载mysqlsla, tar zxvf mysqlsla-2.03.tar.gz #解压 cd mysqlsla-2.03 #进入安装目录

perl Makefile.PL  #配置

make  #编译

make install  #安装

2、使用mysqlsla分析MySQL慢查询日志

#查询记录最多的20个sql语句,并写到select.log中去

mysqlsla -lt slow --sort t_sum --top   /data/mysql/-slow.log >/tmp/select.log

#统计慢查询文件为/data/mysql/-slow.log的所有select的慢查询sql,并显示执行时间最长的100条sql,并写到sql_select.log中去

mysqlsla -lt slow  -sf "+select" -top   /data/mysql/-slow.log >/tmp/sql_select.log

#统计慢查询文件为/data/mysql/-slow.log的数据库为mydata的所有select和update的慢查询sql,并查询次数最多的100条sql,并写到sql_num.sql中去

mysqlsla -lt slow  -sf "+select,update" -top  -sort c_sum  -db mydata /data/mysql/-slow.log >/tmp/sql_num.log

三、常见问题

1、Can't locate ExtUtils/MakeMaker.pm

解决:yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker

2、csdn mysqlsla下载地址

http://download.csdn.net/detail/huawei2772/9713399

本文转自:http://www.osyunwei.com/archives/7659.html

Linux下MySQL慢查询分析mysqlsla安装使用的更多相关文章

  1. linux下MySQL 5.6源码安装

    linux下MySQL 5.6源码安装 1.下载:当前mysql版本到了5.6.20 http://dev.mysql.com/downloads/mysql 选择Source Code 2.必要软件 ...

  2. Linux 下 MySQL 的彻底卸载和安装配置字符集

    前言: Linux环境下MySQL的安装和配置在网上已经有很多教程了.之所以写这篇文章是因为在配置字符集的时候找了网上的一些教程发现并不能用导致折腾了一阵子.下面的教程均是亲自实践. MySQL的彻底 ...

  3. Linux下MySQL的彻底卸载和安装配置字符集

    前言: Linux环境下MySQL的安装和配置在网上已经有很多教程了.之所以写这篇文章是因为在配置字符集的时候找了网上的一些教程发现并不能用导致折腾了一阵子.下面的教程均是亲自实践. MySQL的彻底 ...

  4. CentOS Linux下MySQL 5.1.x的安装、优化和安全配置

    下载页面:http://dev.mysql.com/downloads/mysql/5.1.html#downloads 到页面底部,找到Source downloads,这个是源码版本,下载第1个T ...

  5. linux下Mysql 8.0.19 编译安装

    1 前言 linux下安装MySQL的方式有很多种,包括以仓库的方式安装(yum,apt,zypper),以包的方式安装(rpm,deb),以docker方式安装,从压缩包解压安装,从源码编译安装,这 ...

  6. linux下mysql配置查询

    1.查看mysql的数据文件存放位置 show variables; 显示结果中的: datadir的值即是. 2.查看mysql是否支持表分区 SHOW VARIABLES LIKE '%parti ...

  7. linux下mysql的安装

    一.下载 http://dev.mysql.com/downloads/mysql/ 选择对应的版本,这里选择“Linux-Generic” 以64位系统为例,这里需要下载如下两个文件: MySQL- ...

  8. linux下MySQL安装登录及操作

    linux下MySQL安装登录及操作 二.安装Mysql 1.下载MySQL的安装文件 安装MySQL需要下面两个文件: MySQL-server-4.0.16-0.i386.rpm MySQL-cl ...

  9. Linux下mysql安装过程

    到mysql官网下载mysql编译好的二进制安装包,在下载页面Select Platform:选项选择linux-generic,然后把页面拉到底部,64位系统下载Linux - Generic (g ...

随机推荐

  1. bootstrap表格

    Bootstrap 实例 - 边框表格 < 建立日期 2015-5-27 录入人员 test1 处理人员 test2 问题报障人   部门/城市公司   联系电话   问题类型   处理状态   ...

  2. 解析大型.NET ERP系统 单据编码功能实现

    单据编码是ERP系统中必备的功能,用于生成各种单据的流水号,常常借助于日期时间等字符来生成一个唯一的单据号码.从软件的角度来说,就是为生成数据表的主键值(参考编号),从用户的角度来说,就是给业务单据制 ...

  3. 高性能JavaScript--数据存储(简要学习笔记二)

    1.JavaScript中四种基本数据存取位置:字面量,本地变量,数组元素,对象成员. 一般来说:[字面量,局部变量]运行速度>[数组,对象成员]   2.内部属性包含了一个函数被创建的作用域中 ...

  4. 分布式系统理论进阶 - Paxos

    引言 <分布式系统理论基础 - 一致性.2PC和3PC>一文介绍了一致性.达成一致性需要面临的各种问题以及2PC.3PC模型,Paxos协议在节点宕机恢复.消息无序或丢失.网络分化的场景下 ...

  5. C#:解决WCF中服务引用 自动生成代码不全的问题。

    问题描述: 如下图:打叉的部分是引用不成功的部分 ,在web.config文件中没有自动添加其引用代码. 英文解释 在服务引用选择自己的项目的程序集就行了,如下图: 特别注意:这些程序集一定要在自己的 ...

  6. Chrome DevTools – 键盘和UI快捷键参考

    Chrome DevTools有几个内置的快捷键,可以节省你的日常工作的时间. 本指南提供了Chrome DevTools中每个快捷键的快速参考.虽然一些快捷方式在全局范围内可用,但其他的快捷方式用于 ...

  7. 看我是如何处理自定义线程模型---java

    看过我之前文章的园友可能知道我是做游戏开发,我的很多思路和出发点是按照游戏思路来处理的,所以和web的话可能会有冲突,不相符合. 来说说为啥我要自定义线程模型呢? 按照我做的mmorpg或者mmoar ...

  8. Java对象序列化剖析

    对象序列化的目的 1)希望将Java对象持久化在文件中 2)将Java对象用于网络传输 实现方式 如果希望一个类的对象可以被序列化/反序列化,那该类必须实现java.io.Serializable接口 ...

  9. CAS FOR WINDOW ACTIVE DIRECTORY SSO单点登录

    一.CAS是什么? CAS(Central Authentication Service)是 Yale 大学发起的一个企业级的.开源的项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方法(支持 ...

  10. C#委托的一次"甜蜜"接触

    委托是个说烂了的话题,但是依旧有好多人不知道为什么要在C#中使用委托,最近有朋友也问到我这个问题,所以举例些场景,以供那些知道怎么声明委托.怎么调用却不知道为什么要用的朋友一些参考,当然也是希望验证下 ...