转自:http://www.cnblogs.com/wenanry/archive/2011/05/12/2044157.html
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可以看到这个工具的参数
-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慢查询日志
mysql慢查询日志的使用
Mysql慢查询日志查看 文档有慢查询详细内容介绍和查看方法 我自己收藏的一个文档 共享了希望对大家有所帮助
Mysql慢查询日志概念常用参数查询与设定查询慢查询记录数mysqldumpslow工具 概念 Mysql的慢查询是一种日志, 主要用于记录 Mysql中响应时间超过设定的阀值的语句. 常用参数 类型 说明 默认值 slow_query_log ...
Windows下开启MySQL慢查询的方法
MySQL 有一种日志,叫做慢查询日志,主要就是用来记录一些耗时的查询操 作。通过这个日志我们就可以分析出哪些的操作是影响性能的,我们需要对其 进行一些优化措施。
查看开启状态查看日志文件查看慢查询时间查看日志保存方式查看有多少条慢查询记录修改配置文件配置好后需要重启mysql,试试下面的慢查询:查看慢日志文件:mysql
MySQL慢查询日志是我们在日常工作中经常会遇到的一个功能,MySQL慢查询日志提供了超过指定时间阈值的查询信息,为性能优化提供了主要的参考依据,是一个非常实用的功能,MySQL慢查询日志的开启和配置非常简单,可以...
MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query...这篇文章主要给大家介绍了关于MySQL慢查询日志的基本使用的相关资料,需要的朋友可以参考下
mysql慢日志查询,介绍查询mysql中哪些是慢查询的内容
mysqllog 该软件包提供了一个简单MySQL慢查询日志解析器。示例:从stdin解析日志并将事件打印为JSON package mainimport ("bufio""encoding/json""fmt""os""github.com/Preetam/mysqllog")func main () {p := & ...
MySQL慢查询日志查看器这是一个用于解析MySQL慢查询日志并以一种很好的,易于阅读的格式显示它的简单工具。 该工具使用我自己PHP库gumbercules / mysqlslow进行繁重的工作。 我写了这个工具来满足两个需求: 我受够...
mysql-slow-log-import-to-elasticsearch 将mysql慢查询日志导入elasticsearch进行分析 它按锡说的做
MySQL的慢查询日志解析器PHP库用于解析MySQL慢查询日志用法使用composer安装: composer require gumbercules/mysqlslow包括名称空间: use Gumbercules\MysqlSlow;实例化新的文件阅读器: $parser = new LogParser...
mysql慢查询日志文档及命令,操作步骤。用于查询线上mysql sql执行情况,可根据设置过滤sql执行时间大于多少的sql统计情况,工具采用pt-query-degist
mysql慢查询日志对于跟踪有问题的查询非常有用,可以分析出当前程序里有很耗费资源的sql语句,那如何打开mysql的慢查询日志记录呢?其实打开mysql的慢查询日志很简单,只需要在mysql的配置文件里(windows系统是my.ini,...
主要介绍MySQL数据库中慢查询日志的使用流程、使用方式、以及日志分析工具mysqldumpslow的相关内容
mysqldumpslow是一个用Perl脚本写的转存储慢日志查询程序。在慢日志文件比较大的时候,用文件查看命令去分析MYSQL慢日志文件,看起来就会比较费劲,也不能快速的统计出需要优化的SQL语句。 使用mysqldumpslow就可以...