mysql开启慢查询方法(转)

1,配置开启

Linux:

在mysql配置文件my.cnf中增加

log-slow-queries=/var/lib/mysql/slowquery.log (指定日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.log)
long_query_time=2 (记录超过的时间,默认为10s)
log-queries-not-using-indexes (log下来没有使用索引的query,可以根据情况决定是否开启)
log-long-format (如果设置了,所有没有使用索引的查询也将被记录)

Windows:

在my.ini的[mysqld]添加如下语句:
log-slow-queries = E:\web\mysql\log\mysqlslowquery.log
long_query_time = 2(其他参数如上)

 

2,查看方式

Linux:

使用mysql自带命令mysqldumpslow查看

常用命令
-s ORDER what to sort by (t, at, l, al, r, ar etc), 'at’ is default
-t NUM just show the top n queries
-g PATTERN grep: only consider stmts that include this string

eg:
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语句。

 

 

 

 

 

 

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语句。

 

Windows:

当你是第一次开启mysql的慢查询,会在你指定的目录下创建这个记录文件,本文就是mysqlslowquery.log,这个文件的内容大致如下(第一次开启MYSQL慢查询的情况下)
E:\web\mysql\bin\mysqld, Version: 5.4.3-beta-community-log (MySQL Community Server (GPL)). started with:
TCP Port: 3306, Named Pipe: (null)
Time Id Command Argument

可以通过如下的命令来查看慢查询的记录数:

mysql> show global status like ‘%slow%’;
+———————+——-+
| Variable_name | Value |
+———————+——-+
| Slow_launch_threads | 0 |
| Slow_queries | 0 |
+———————+——-+

转载于:https://www.cnblogs.com/xingmeng/p/3659421.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/264961.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows生成dump文件

windows下程序有时突然崩溃了&#xff0c;偶发性的崩溃很难找。于是就需要保存崩溃时的dump信息了。 下面是关于如何生成dmp文件的代码。 头文件 #pragma once #include <windows.h> #include <DbgHelp.h> #include <stdlib.h> #include <string> #pra…

Linux系统信息与系统资源

目录系统信息系统标识unamesysinfo 函数gethostname 函数sysconf()函数时间、日期GMT 时间UTC 时间UTC 时间格式时区实时时钟RTC获取时间time/gettimeofday时间转换函数设置时间settimeofday总结进程时间times 函数clock 函数产生随机数休眠(延时)秒级休眠: sleep微秒级休眠: u…

关于Qomo OpenProject的进度(2006.01.04)

目前项目仍在初起阶段。许多事情是我一个人来做的&#xff0c;因此时间上实在不够用。我目前的主要工作是撰写项目的相关文档和整理项目中的可公开代码。我需要从原有的WEUI项目中剥离出一些非商业的代码出来。——尽管这个工作不复杂&#xff0c;但涉及到原公司的授权问题。由…

Java Web会话管理

一.Cookie会话 cookie技术会话数据会保存在浏览器客户端 cookie技术核心: 1.构造cookie对象 2.设置cookie&#xff1a;有效访问时间(setMaxAge)&#xff0c;有效访问路径(setPath)&#xff0c;设置cookie的值(setValue) 3.发送cookie到客户端保存&#xff1a;response.addCooki…

简单的一个用javascript做的'省市区'三级联动效果

2019独角兽企业重金招聘Python工程师标准>>> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head><title>javascript简单三级联动效果</title…

共享两个做项目最常用功能操作的封装类

(转载http://www.seaskyer.net/Index/Catalog12/223.html&#xff09;共享两个做项目最常用功能操作的封装类一&#xff0e; 显示消息对话框类 做项目时总免不了要弹出对话框&#xff0c;或提示用户&#xff0c;或做用户确认。像WinForm下的MessageBox一样很方便&#xff0c;但…

线程与线程同步

目录线程概述线程概念并发和并行线程ID创建线程终止线程回收线程取消线程取消一个线程取消状态以及类型取消点线程可取消性的检测分离线程注册线程清理处理函数线程属性线程栈属性分离状态属性线程安全线程栈可重入函数线程安全函数一次性初始化线程特有数据线程局部存储更多细…

《程序是怎样跑起来的》第一章有感

在看完《程序是怎样跑起来的》第一章后&#xff0c;我开始明白程序是怎么运行的&#xff0c;该书介绍了程序是什么、由什么组成的以及是内存的机制。读完这本书的第一章后&#xff0c;我知道程序是指令与数据的组合。不过在刚学习的时候&#xff0c;我只是按照书介绍说知&#…

CAS证书分析(2)

CAS的核心就是其Ticket&#xff0c;及其在Ticket之上的一系列处理操作。CAS的主要票据有TGT、ST、PGT、PGTIOU、PT&#xff0c;其中TGT、ST是CAS1.0协议中就有的票据&#xff0c;PGT、PGTIOU、PT是CAS2.0协议中有的票据。一 名词解释TGT&#xff08;Ticket Grangting Ticket&am…

Java Web 之Token+Cookie+Session

发展史&#xff1a; 1. 早期的WEB基本上就是文档的浏览而已&#xff0c;服务器不需要记录谁在某个时间都浏览了什么文档&#xff0c;每次请求都是全新的HTTP协议。 2. 随着交互式WEB应用的兴起&#xff0c;例如在线购物网站&#xff0c;需要登录的网站等&#xff0c;则需要对会…

Google Logos

All Googles logos.... 转载于:https://www.cnblogs.com/WuCountry/archive/2006/01/20/320689.html

CC254X 蓝牙博文收集

【BLE】CC2541之添加特征值 【BLE】CC2541之发现多个特征值句柄 IoT产品之蓝牙设计 BLE-CC2541 BLE-CC2640

〈转贴〉如何解决 Windows XP 中的硬件和软件驱动程序问题

如何解决 Windows XP 中的硬件和软件驱动程序问题 察看本文应用于的产品文章编号:322205最后修改:2004年3月25日修订:1.0本页 症状原因解决方案 检查第三方软件或驱动程序 检查新硬件这篇文章中的信息适用于:症状 在安装新硬件设备或新软件后&#xff0c;您的计算机可能自动开始…

断点续传与差分升级

断点续传的原理 基于STM32单片机的差分升级(增量升级)算法 OTA 差分升级 云端一体化差分升级&#xff0c;AliOS Things物联网升级“利器” 详解STM32在线IAP升级 单片机差分升级算法(STM32,M0,M3,M4等芯片都适用) AliOS Things 3.0 开发&#xff1a;OTA之差分升级快速上手…

MYSQL配置关键

2019独角兽企业重金招聘Python工程师标准>>> 在启动管理init.d里关于mysql的命令有 sudo /etc/init.d/mysql start|stop|restart|reload|force-reload|status sudo apt-get install mysql-server GRANT ALL PRIVILEGES ON *.* TO rootlocalhost IDENTIFIED BY &quo…

百度正式发布PaddlePaddle深度强化学习框架PARL

去年&#xff0c;斯坦福大学神经生物实验室与 EPFL 联合举办了一场强化学习赛事——人工智能假肢挑战赛&#xff08;AI for Prosthetics Challenge&#xff09;&#xff0c;希望将强化学习应用到人体腿部骨骼仿真模拟模型的训练。 经过激烈的角逐&#xff0c;最终来自百度大脑的…

关于lvalue and rvalue

2019独角兽企业重金招聘Python工程师标准>>> lvalue &#xff1a;An object is a region of storage that can be examined and stored into.An lvalue does not necessarily permit modification of the object it designates&#xff1a; eg An array type An inc…

[转载]全面解读软件版本的标志

软件名称后面经常有一些英文和数字&#xff0c;如&#xff1a;QQ 2003 Beta&#xff0c;这些都是软件的版本标志&#xff0c;通过它&#xff0c;我们可以对软件的类型有所了解&#xff1a;Beta(β)&#xff1a;测试版&#xff0c;为正式版本推出之前发布&#xff0c;可能存在一…

gitlab 使用教程

视频教程&#xff1a;叮&#xff5e;&#xff0c;你收到一份最全的gitlab使用说明 地址&#xff1a;https://www.bilibili.com/video/BV11E411x7Uv?spm_id_from333.337.search-card.all.click 目录简介1、注册、登录2、创建项目3、添加项目成员4、分支权限设置5、下载安装git6…

mssql 分页

为什么80%的码农都做不了架构师&#xff1f;>>> http://www.cnblogs.com/ddlink/archive/2013/03/30/2991007.html 分页问题修正 http://blog.csdn.net/wangkadm/article/details/12708005 转载于:https://my.oschina.net/macleo/blog/223782