码迷,mamicode.com
首页 > 数据库 > 详细

mysql慢查询日志

时间:2015-10-01 20:21:31      阅读:822      评论:0      收藏:0      [点我收藏+]

标签:

一、开启慢查询日志

1.查询慢查询时间 默认10秒

SHOW VARIABLES LIKE "long_query_time"

2.查询慢查询日志文件地址

SHOW VARIABLES LIKE "%slow%"

3.如果没有开启慢查询日志则,在 my.ini 的 [mysqld] 下面配置项,然后重启mysqld服务即可。

小于等于5.5版本的mysql的设置方式

#慢查询日志文件地址
log-slow-queries = "E:/phpStudy/MySQL/long_query_logs/buexplain-slow.log"
#慢查询时间(单位是秒),大于该时间的sql都将记录到慢查询日志文件。
long_query_time=0.5

大于等于5.6版本的mysql的设置方式

#开启慢查询 1或on表示开启,0或off表示关闭
slow_query_log=on 
#慢查询日志文件地址
slow_query_log_file="E:/phpStudy/MySQL/long_query_logs/buexplain-slow.log"
#慢查询时间(单位是秒),大于该时间的sql都将记录到慢查询日志文件。
long_query_time=0.5

4.测试慢查询

SELECT sleep( 1 ) 

5.查看慢查询次数

SHOW GLOBAL STATUS LIKE %slow%

 二、慢查询日志分析

# Time: 151001 19:06:58
# User@Host: root[root] @ localhost [127.0.0.1]
# Query_time: 1.000057  Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 0
SET timestamp=1443697618;
select sleep(1);

第一行:执行时间
第二行:执行用户
第三行(重要):
Query_time SQL执行的时间,越长则越慢
Lock_time 在MySQL服务器阶段(不是在存储引擎阶段)等待表锁时间
Rows_sent 查询返回的行数
Rows_examined 查询检查的行数

第四行:执行的sql

分析处理日志的工具有:

1.mysqldumpslow 官方提供的perl脚本

2.mysqlsla 是 hackmysql.com 推出的一款日志分析工具

3.pt-query-digest 一个perl脚本

相关链接:

http://www.zrwm.com/?p=2668

http://blog.csdn.net/a600423444/article/details/6854289

三、总结

不要开启 log-queries-not-using-indexes 没有索引查询记录功能,它影响主要的慢查询日志的查看。

mysql慢查询日志

标签:

原文地址:http://www.cnblogs.com/buexplain/p/4851409.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!