`
AllenHU0320
  • 浏览: 85786 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MySQL分析慢查询日志

 
阅读更多

分析慢查询日志:

默认会将执行时间超过10秒的SQL语句记录在慢查询日志中

使用mysqldumpslow命令,MySQL自带的工具,不大常用

[mysql@mysql1 ~]$ mysqldumpslow -s c -t 1 /data/mysqldata/3306/slow_query.log

-s t:按照总的查询时间排序

-s at:按照平均查询时间排序

-s l:按照总的锁定时间排序

-s al:按照平均的锁定时间排序

-s s:按照总的记录行数排序

-s as:按照平均的记录行数排序

-s c:按照语句执行的次数排序,默认排序方式

-r:按照排序规则倒序输出

-t:用来控制输出的sql语句的数量

 

使用mysqlsla命令,第三方分析工具

[root@mysql1 ~]# perl -MCPAN -e shell

cpan 1 >install Time::HiRes

cpan 2 >install File::Temp

cpan 3 >install Data::Dumper

cpan 4 >install DBI

cpan 5 >install Getopt::Long

cpan 6 >install Storable

cpan 7 >install Term::ReadKey

编译安装

[root@mysql1 /]# tar xvfz mysqlsla-2.03.tar.gz

[root@mysql1 /]# cd mysqlsla-2.03

[root@mysql1 /]# perl Makefile.PL

[root@mysql1 /]# make

[root@mysql1 /]# make && make install

[root@mysql1 /]# mysqlsla -lt slow [slowlogfilepath] > [resultfilepath]

[root@mysql1 /]# mysqlsla -lt slow --top 50 /data/mysqldata/3306/slow_query.log

支持不同格式的日志

slow:慢查询日志

general:普通查询日志

binary:二进制日志,需要通过mysqlbinlog命令处理

 

使MySQL实例中的slowlog文件每日自动归档,而后调用mysqlsla命令对归档的慢查询日志文件进行分析,并将分析后的文件自动发送至DBA邮箱

[root@mysql1 scripts]# more mysql_slowlog_file_archive.sh

#Created by allen

#Init environment variables

LOG_FILEPATH=/data/mysqldata/logs

LOG_FILENAME=${LOG_FILEPATH}/slow-n.log.`date +%F`

LOG_ANALYZE=${LOG_FILEPATH}/slow-ana.log.`date +%F`

SLOWLOG_FILENAME=/data/mysqldata/3306/slow_query.log

#Do the Job!

/bin/cp -f ${SLOWLOG_FILENAME} ${LOG_FILENAME}

/bin/echo "" > ${SLOWLOG_FILENAME}

/usr/bin/mysqlsla -lt slow ${LOG_FILENAME} --top 100 -Ai 1000 > ${LOG_ANALYZE}

/bin/cat ${LOG_ANALYZE} | iconv -f utf-8 -t gb18030 | mail -s "[`date +%F`] MySQL SlowLogs From 3306" allenhu320@sina.com

#Delete slowlog history

/usr/bin/find ${LOG_FILEPATH} -mtime +7 -exec rm {} \;

 

 

 

 

 

分享到:
评论

相关推荐

    Mysql慢查询日志查看

    Mysql 慢查询日志查看是指在 Mysql 数据库中,记录和分析执行时间较长的查询语句,以便优化数据库性能和提高查询效率。慢查询日志查看可以帮助数据库管理员和开发者快速地定位和优化数据库中的性能瓶颈。 一、慢...

    mysql慢查询日志的使用

    - `mysqlsla`也是一个常用的慢查询日志分析工具,可以从慢查询日志中提取并分析慢查询。 - 安装方法: ```bash wget http://hackmysql.com/scripts/mysqlsla ``` 3. **Percona Toolkit中的pt-query-digest:**...

    MySQL优化篇:慢查询日志.pdf

    要查看和分析慢查询日志,可以使用MySQL提供的日志分析工具`mysqldumpslow`。这个工具能够帮助我们从慢查询日志中提取有用的信息。使用`mysqldumpslow --help`可以查看工具的使用帮助和参数描述。例如,使用`...

    MySQL慢查询日志

    ### MySQL慢查询日志详解 #### 一、慢查询日志概述 MySQL慢查询日志是一种重要的工具,用于记录执行时间超过预设阈值的SQL语句。通过对这些记录进行分析,可以找出数据库中的性能瓶颈,并据此采取相应的优化措施。...

    mysql慢日志查询

    1. **性能优化**:通过分析慢查询日志中的信息,可以找出性能瓶颈,并针对性地优化查询语句或调整数据库结构。 2. **监控与审计**:对于生产环境而言,慢查询日志还能够帮助监控数据库性能的变化趋势,并作为安全...

    mysql的慢日志配置查询和show processlist使用

    通过分析慢查询日志,我们可以找到 MySQL 中执行时间最长的 SQL 语句,并对其进行优化,从而提高 MySQL 的性能。 在上面的例子中,我们手动触发了两个慢查询,一个是 11 秒的慢查询,另一个是 20 秒的慢查询。然后...

    MySQL慢查询日志:性能分析的利器

    通过分析慢查询日志,我们可以识别和优化那些执行效率低下的查询语句,进而显著提升数据库的整体性能。 #### 二、MySQL的特点 1. **开放源代码**:MySQL的源代码是公开的,这意味着任何人都可以自由使用和修改,这...

    mysql慢日志分析工具mysqlsla

    MySQLsla是一款专为MySQL数据库设计的慢查询日志分析工具,它可以帮助数据库管理员高效地分析和理解MySQL服务器上的慢查询情况,从而优化数据库性能。在MySQL的运行过程中,某些SQL语句执行时间过长,就会被记录到慢...

    线上慢查询日志文档及命令

    安装Percona Toolkit后,可以使用以下命令分析慢查询日志: ```bash pt-query-digest --log-file=/path/to/your/slow-query.log --report-host=your_mysql_server_host --limit=100 > report.txt ``` 这将生成一个...

    mysql开启查看慢查询日志借鉴.pdf

    以下是关于如何开启、查看和分析MySQL慢查询日志的详细说明: 首先,要在MySQL中启用慢查询日志,你需要编辑MySQL配置文件。在Windows系统中,该文件通常是`my.ini`,而在Linux系统中则是`my.cnf`。在`[mysqld]`...

    关于Mysql通用查询日志和慢查询日志分析

    总之,理解并有效地使用MySQL的通用查询日志和慢查询日志是数据库性能监控和调优的关键步骤。通过对日志的分析,我们可以识别潜在的性能问题,进而采取措施优化数据库,提升服务质量和用户体验。

    go写的mysql的慢查询日志解析工具,输出到一个数据的表里边

    MySQL的慢查询日志是数据库性能优化的重要工具,它记录了执行时间超过预设阈值的SQL查询,有助于分析和优化数据库的性能瓶颈。在大数据环境中,管理这些慢查询日志变得尤为关键,因为大量的慢查询可能会严重影响系统...

    MySQL慢查询日志.docx

    MySQL的慢查询日志是数据库管理员用于识别...总之,MySQL慢查询日志是数据库性能调优的重要入口,通过分析并优化慢查询,可以有效地提升系统的整体性能。在日常运维中,定期检查和处理慢查询日志是一项必不可少的工作。

    MySQL开启慢查询日志功能的方法

    使用mysql自带的工具mysqldumpslow可以分析慢查询日志。mysqldumpslow命令的基本用法如下: - mysqldumpslow -s t -t 20 /path/to/slowquery.log // 显示查询时间最长的20条慢查询日志记录 - mysqldumpslow -s c -t...

    cpp-Slowquery图形化显示MySQL慢日志工具

    "cpp-Slowquery图形化显示MySQL慢日志工具" 指的是一款基于C++语言开发的工具,名为Slowquery,它的主要功能是解析并以图形化方式展示MySQL数据库的慢查询日志。这个工具帮助数据库管理员更直观地理解和分析MySQL...

    Mysql慢查询日志

    mysqldumpslow是一个用于分析MySQL慢查询日志的工具,它可以按时间、行数、读取的数据量等进行排序,帮助我们快速找到那些最耗时的查询,进一步进行优化。 总的来说,通过对MySQL慢查询日志的有效利用和参数配置,...

    (mysql面试题)MySQL中的慢查询日志的作用及其使用方法及代码展示.txt

    1. **发现性能瓶颈**:通过对慢查询日志的分析,可以快速定位到执行效率较低的SQL语句,进而深入分析其原因,如表设计不合理、索引缺失或不恰当等,从而针对性地优化数据库结构和SQL语句本身,提升整体系统的响应...

    MySQL慢查询日志的配置与使用教程

    总的来说,MySQL的慢查询日志是性能调优的重要工具,通过对日志的分析,可以识别出拖慢数据库性能的查询并进行优化,从而提升整体系统的效率。通过合理配置和使用,可以更有效地监控和改善数据库的运行状态。

Global site tag (gtag.js) - Google Analytics