mysql慢查询日志对于跟踪有问题的查询非常有用,可以分析出当前程序里有很耗费资源的sql语句,那如何打开mysql的慢查询日志记录呢?
   其实打开mysql的慢查询日志很简单,只需要在mysql的配置文件里(windows系统是my.ini,linux系统是my.cnf)的[mysqld]下面加上如下代码:

log-slow-queries=/var/lib/mysql/slowquery.log
long_query_time=2

注:
log-slow-queries 设置把日志写在那里,为空的时候,系统会给慢查询日志赋予主机名,并被附加slow.log. /var/lib/mysql/slowquery.log为日志存放的文件的位置,一般这个目录要有mysql的运行帐号的可写权限,一般都将这个目录设置为mysql的数据存放目录

long_query_time=2中的2表示查询超过两秒才记录.

如果设置了参数log-long-format,那么所有没有使用索引的查询也将被记录。在文件my.cnf或my.ini中加入下面这一行可以记录这些查询

这是一个有用的日志。它对于性能的影响不大(假设所有查询都很快),并且强调了那些最需要注意的查询(丢失了索引或索引没有得到最佳应用)

# Time: 070927 8:08:52

# User@Host: root[root] @ [192.168.0.20]

# Query_time: 372 Lock_time: 136 Rows_sent: 152 Rows_examined: 263630
select id, name from manager where id in (66,10135);
这是慢查询日志中的一条,用了372秒,锁了136秒,返回152行,一共查了263630行

如果日志内容很多,用眼睛一条一条去看会累死,mysql自带了分析的工具,使用方法如下:
命令行下,进入mysql/bin目录,输入mysqldumpslow –help或--help可以看到这个工具的参数,主要有
Usage: mysqldumpslow [ OPTS... ] [ LOGS... ]

Parse and summarize the MySQL slow query log. Options are

--verbose    verbose

--debug      debug

--help       write this text to standard output

-v           verbose

-d           debug

-s ORDER     what to sort by (t, at, l, al, r, ar etc), 'at' is default

-r           reverse the sort order (largest last instead of first)

-t NUM       just show the top n queries

-a           don't abstract all numbers to N and strings to 'S'

-n NUM       abstract numbers with at least n digits within names

-g PATTERN   grep: only consider stmts that include this string

-h HOSTNAME hostname of db server for *-slow.log filename (can be wildcard),

default is '*', i.e. match all

-i NAME      name of server instance (if using mysql.server startup scrīpt)

-l           don't subtract lock time from total time

-s,是order的顺序,说明写的不够详细,俺用下来,包括看了代码,主要有
c,t,l,r和ac,at,al,ar,分别是按照query次数,时间,lock的时间和返回的记录数来排序,前面加了a的时倒叙
-t,是top n的意思,即为返回前面多少条的数据
-g,后边可以写一个正则匹配模式,大小写不敏感的

mysqldumpslow -s c -t 20 host-slow.log
mysqldumpslow -s r -t 20 host-slow.log

上述命令可以看出访问次数最多的20个sql语句和返回记录集最多的20个sql。
mysqldumpslow -t 10 -s t -g “left join” host-slow.log
这个是按照时间返回前10条里面含有左连接的sql语句。

转自: http://hi.baidu.com/34pc/blog/item/cc19750132dde3067aec2cbf.html

转载于:https://www.cnblogs.com/wenanry/archive/2011/05/12/2044157.html

mysql慢查询日志 Mysql慢查询相关推荐

  1. c mysql清理日志文件_MySQL 一般查询日志或者慢查询日志历史数据的清理

    general log&slow query log 对于MySQL的一般查询日志和慢查询日志,开启比较简单,其中公用的一个参数是log_output,log_output控制着慢查询和一般查 ...

  2. MySQL 运维 日志 -- 错误日志、二进制日志、查询日志、慢查询日志

    文章目录 1. 错误日志 2. 二进制日志 2.1 介绍 2.2 格式 2.3 查看 2.4 删除 3. 查询日志 4. 慢查询日志(可以记录用时较长的SQL) 4.1 开启慢查询日志 4.2 慢查询 ...

  3. mysql慢查询日志时间戳_Mysql查询在时间戳的日期范围内非常慢

    要提高此查询的性能,请使用合适的索引(将date_run作为索引中的前导列),并在等效谓词中引用"裸列". 在函数中包装列(如DATE(),就像在查询中一样)会禁用MySQL优化器 ...

  4. phpstuday mysql的慢日志开启及查询

    phpstuday开启慢日志 在mysql.ini中加入以下命令 log-slow-queries ="D:\phpStudy\MySQL\log\\sqlslowquery.log&quo ...

  5. mysql开启中继日志,MySQL复制应用中继日志解析

    作者 :沃趣科技高级数据库专家 邱文辉 1.从一个大神那边得到一张图片,SQL线程应用中继日志流程,下面就实验验证一下:(PS,我个人认为这张图binlog_format为ROW格式是正确的) 2.验 ...

  6. mysql元数据死锁日志,MySQL 实战笔记 第02期:MySQL 元数据锁

    当我们在 MySQL 中执行 DDL 语句时,经常会发现语句没有在你预期的时间完成,这时候我们通常会使用 show full processlist ,来看看发生了什么状况.当你看到 waiting ...

  7. mysql 慢日志 作用_MySQL慢查询日志的作用和开启

    前言 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中.lon ...

  8. MySQL慢查询日志分析(一)

    慢查询日志概念 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志 ...

  9. Docker系列 八.Docker下 Mysql 启动慢查询日志

    先进入mysql容器: docker exec -it 480c8f2a1f21 /bin/bash 进入mysql,然后输入密码即可 mysql -u root -p 查看mysql系统参数 mys ...

最新文章

  1. oracle元数据存储在表空间,[Oracle] dbms_metadata.get_ddl 的使用方法总结
  2. MySQL - 高效的设计MySQL库表
  3. SecureCRTSecureFX_HH_x64_7.0.0.326 crt部署项目到服务器
  4. 关于es6的const跟vuex里的getter
  5. ubuntux学习日记
  6. h5 宽度全屏自适应
  7. net framework安装有什么影响_踢脚暖比地暖安装简单,升温快,为什么没有普及?这2点影响很大...
  8. 网站部署——基于Django框架的天天生鲜电商网站项目系列博客(十六)
  9. 64位Python读取周立功USBCAN-I信息
  10. 空号检测和手机在网状态查询的区别
  11. libhv网络库源码剖析
  12. 类对象实现红蓝方互殴
  13. -bash: /usr/local/miniconda2/bin/conda: /home/hadoop/miniconda2/bin/python: bad interpreter: No such
  14. Nginx配置文件目录实现pdf文件预览及下载
  15. 2021-2027全球与中国GPU服务器市场现状及未来发展趋势
  16. 2.Conv2d实现
  17. Pillow 根据字体类型、字号(字体大小)来计算字符串的像素(长 和 高)
  18. 深入理解 Linux 2.6 的 initramfs 機制 (上)
  19. 【科普文】JavaScript前世今生 and 安全隐患
  20. 用Mathematica实现各类积分图形区域绘制与积分计算及结果的快速检验方法(一)

热门文章

  1. android activityManager
  2. 网站“注册流程”如何“照顾用户”?
  3. 体二极管的原理及应用
  4. 使用adb install 时 提示error: more than one device and emulator
  5. 12 | 套路篇:CPU 性能优化的几个思路
  6. 使用 Dockerfile 定制镜像
  7. linux7添加两个网关,RHEL7设置IP地址、网关和DNS(示例代码)
  8. 二叉树遍历(已知先序和中序)
  9. 如何应对数据库CPU打满?最优解在这里...
  10. 关于 iOS apps 的启动页设计,再唠叨几句