zoukankan      html  css  js  c++  java
  • Linux下MySQL慢查询分析mysqlsla安装使用

    说明:

    操作系统: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;  #修改为记录5秒内的查询

    select sleep(6);  #测试MySQL慢查询
    
    show variables like "%slow%";  #查看MySQL慢查询日志路径
    
    show global status like '%slow%';  #查看MySQL慢查询状态

    exit;  #退出MySQL控制台
    
    cat /data/mysql/127-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 20  /data/mysql/127-slow.log >/tmp/select.log
    
    #统计慢查询文件为/data/mysql/127-slow.log的所有select的慢查询sql,并显示执行时间最长的100条sql,并写到sql_select.log中去
    
    mysqlsla -lt slow  -sf "+select" -top 100  /data/mysql/127-slow.log >/tmp/sql_select.log
    
    #统计慢查询文件为/data/mysql/127-slow.log的数据库为mydata的所有select和update的慢查询sql,并查询次数最多的100条sql,并写到sql_num.sql中去
    
    mysqlsla -lt slow  -sf "+select,update" -top 100 -sort c_sum  -db mydata /data/mysql/127-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

  • 相关阅读:
    Mysql体系结构(第4天)
    常用的课程网站
    Mysql 升级、用户与授权,
    Bootstrap
    项目中用到的一些特殊字符和图标 Content:"2715",特殊字符和图标
    CentOS 7 安装与卸载MySQL
    Iterm2使用
    Linux定时任务
    Ext.create细节分析
    Ext.define细节分析
  • 原文地址:https://www.cnblogs.com/fengchi/p/6187099.html
Copyright © 2011-2022 走看看