mysql:慢查询日志slow_query_log
1、慢查询日志:当查询超过一定的时间没有返回结果的时候,才会记录到慢查询日志中。默认不开启。采样的时候手工开启。可以帮助DBA找出执行慢的SQL语句
2、常用的参数详解:
注意:修改以下参数,需要重新启动数据库服务才会生效。
slow_query_log=off|on --是否开启慢查询日志
slow_query_log_file=filename --指定保存路径及文件名,默认为数据文件目录,hostname-slow.log
long_query_time= --指定多少秒返回查询的结果为慢查询
long-queries-not-using-indexes --记录所有没有使用到索引的查询语句
min_examined_row_limit=1000 --记录那些由于查找了多余1000次而引发的慢查询
long-slow-admin-statements --记录那些慢的optimize table,analyze table和alter table语句
log-slow-Slave-statements --记录由Slave所产生的慢查询
3、不重启修改慢查询配置:
set @@global.slow_query_log=
set @@global.slow_query_time=
其他参数可通过以下命令查阅:
show variables '%slow%';
mysql> show variables like '%slow%';
+---------------------------+-----------------------------------+
| Variable_name | Value |
+---------------------------+-----------------------------------+
| log_slow_admin_statements | OFF |
| log_slow_slave_statements | OFF |
| slow_launch_time | |
| slow_query_log | OFF |
| slow_query_log_file | /var/lib/mysql/localhost-slow.log |
+---------------------------+-----------------------------------+
mysql> show variables like '%long%';
+--------------------------------------------------------+-----------+
| Variable_name | Value |
+--------------------------------------------------------+-----------+
| long_query_time | 10.000000 |
| performance_schema_events_stages_history_long_size | |
| performance_schema_events_statements_history_long_size | |
| performance_schema_events_waits_history_long_size | |
+--------------------------------------------------------+-----------+
rows in set (0.03 sec) mysql> show variables like '%min%';
+---------------------------+-------+
| Variable_name | Value |
+---------------------------+-------+
| ft_min_word_len | |
| innodb_ft_min_token_size | |
| log_slow_admin_statements | OFF |
| min_examined_row_limit | |
| query_cache_min_res_unit | |
+---------------------------+-------+
rows in set (0.00 sec)
EG:开启慢查询日志:示例
mysql> set global slow_query_log=;
Query OK, rows affected (0.08 sec)
mysql> set global long_query_time=;
Query OK, rows affected (0.00 s
mysql> set long_query_time=;
Query OK, rows affected (0.05 sec) [root@localhost mysql]# ls
auto.cnf ib_logfile0 king localhost.log mysql mysql_bin. mysql_bin. mysql_bin.index performance_schema utf8
ibdata1 ib_logfile1 localhost.localdomain.pid localhost-slow.log mysql_bin. mysql_bin. mysql_bin. mysql.sock test world mysql> select sleep();
+----------+
| sleep() |
+----------+
| |
+----------+
row in set (3.00 sec) mysql> select sleep();
+----------+
| sleep() |
+----------+
| |
+----------+
row in set (4.01 sec) [root@localhost mysql]# tail -f localhost-slow.log
/usr/local/mysql/bin/mysqld, Version: 5.6.-log (MySQL Community Server (GPL)). started with:
Tcp port: Unix socket: /var/lib/mysql/mysql.sock
Time Id Command Argument
# Time: ::
# User@Host: root[root] @ localhost [] Id:
# Query_time: 3.000955 Lock_time: 0.000000 Rows_sent: Rows_examined:
use king;
SET timestamp=;
select sleep();
# Time: ::
# User@Host: root[root] @ localhost [] Id:
# Query_time: 4.001169 Lock_time: 0.000000 Rows_sent: Rows_examined:
SET timestamp=;
select sleep();
4、常用慢查询分析工具:
mysqldumpslow(结果简陋不方便阅读分析)
mysqlsla
percona-toolkit中的pt-query-digest
[root@localhost mysql]# mysqldumpslow localhost-slow.log Reading mysql slow query log from localhost-slow.log
Count: Time=.50s (7s) Lock=.00s (0s) Rows=1.0 (), root[root]@localhost
select sleep(N)
[root@localhost log]# chmod +x mysqlsla-2.03
[root@localhost log]# ll
总用量
-rwxr-xr-x. root root 11月 mysqlsla-2.03
-rw-r--r--. root root 4月 percona-toolkit-2.2.-.noarch.rpm
[root@localhost log]# ./mysqlsla-2.03 /var/lib/mysql/localhost-slow.log
Auto-detected logs as slow logs
Report for slow logs: /var/lib/mysql/localhost-slow.log
queries total, unique
Sorted by 't_sum'
Grand Totals: Time s, Lock s, Rows sent , Rows Examined ______________________________________________________________________ ___
Count : (100.00%)
Time : 7.002124 s total, 3.501062 s avg, 3.000955 s to 4.001169 s max (100.00%)
Lock Time (s) : total, avg, to max (0.00%)
Rows sent : avg, to max (100.00%)
Rows examined : avg, to max (0.00%)
Database : king
Users :
root@localhost : 100.00% () of query, 100.00% () of all users Query abstract:
SET timestamp=N; SELECT sleep(N); Query sample:
SET timestamp=;
select sleep();
[root@localhost log]# rpm -ivh percona-toolkit-2.2.-.noarch.rpm --nodeps
Preparing... ########################################### [%]
:percona-toolkit ########################################### [%]
[root@localhost log]# pt-query-digest /var/lib/mysql/localhost-slow.log # A software update is available:
# * The current version for Percona::Toolkit is 2.2.. # 820ms user time, 390ms system time, 21.98M rss, 177.44M vsz
# Current date: Mon Mar ::
# Hostname: localhost.localdomain
# Files: /var/lib/mysql/localhost-slow.log
# Overall: total, unique, 0.20 QPS, .70x concurrency ________________
# Time range: -- :: to ::
# Attribute total min max avg % stddev median
# ============ ======= ======= ======= ======= ======= ======= =======
# Exec time 7s 3s 4s 4s 4s 707ms 4s
# Lock time
# Rows sent
# Rows examine
# Query size # Profile
# Rank Query ID Response time Calls R/Call V/M Item
# ==== ================== ============= ===== ====== ===== ======
# 0xF9A57DD5A41825CA 7.0021 100.0% 3.5011 0.14 SELECT # Query : 0.20 QPS, .70x concurrency, ID 0xF9A57DD5A41825CA at byte
# This item is included in the report because it matches --limit.
# Scores: V/M = 0.14
# Time range: -- :: to ::
# Attribute pct total min max avg % stddev median
# ============ === ======= ======= ======= ======= ======= ======= =======
# Count
# Exec time 7s 3s 4s 4s 4s 707ms 4s
# Lock time
# Rows sent
# Rows examine
# Query size
# String:
# Databases king
# Hosts localhost
# Users root
# Query_time distribution
# 1us
# 10us
# 100us
# 1ms
# 10ms
# 100ms
# 1s ################################################################
# 10s+
# EXPLAIN /*!50100 PARTITIONS*/
select sleep()\G
mysql:慢查询日志slow_query_log的更多相关文章
- MySQL 慢查询日志分析及可视化结果
MySQL 慢查询日志分析及可视化结果 MySQL 慢查询日志分析 pt-query-digest分析慢查询日志 pt-query-digest --report slow.log 报告最近半个小时的 ...
- MySQL慢查询日志
实验环境: OS X EI Captian + MySQL 5.7 一.配置MySQL自动记录慢查询日志 查看变量,也就是配置信息 show (global) variables like '%slo ...
- 企业级中带你ELK如何实时收集分析Mysql慢查询日志
什么是Mysql慢查询日志? 当SQL语句执行时间超过设定的阈值时,便于记录到指定的日志文件中或者表中,所有记录称之为慢查询日志 为什么要收集Mysql慢查询日志? 数据库在运行期间,可能会存在这很多 ...
- MySQL慢查询日志相关的文件配置和使用。
MySQL慢查询日志提供了超过指定时间阈值的查询信息,为性能优化提供了主要的参考依据,是一个非常实用的功能,MySQL慢查询日志的开启和配置非常简单,可以指定记录的文件(或者表),超过的时间阈值等就可 ...
- MySQL 慢查询日志配置与简析
MySQL慢查询日志配置与简析 By:授客 QQ:1033553122 <1> 查看是否开启慢查询日志 SHOW VARIABLES LIKE 'slow%'; 说明: a. 如果sl ...
- (6) MySQL慢查询日志的使用
一. 设置方法 使用慢查询日志里捕获 启用之前需要先进行一些设置 方法一:全局变量设置 设置慢查询日志的日志文件位置 set global slow_query_log_file = "D: ...
- MySQL慢查询日志总结 日志分析工具mysqldumpslow
MySQL慢查询日志总结 - 潇湘隐者 - 博客园 https://www.cnblogs.com/kerrycode/p/5593204.html 2016-06-17 10:32 by 潇湘隐者, ...
- MySQL慢查询日志相关的配置和使用。
MySQL慢查询日志提供了超过指定时间阈值的查询信息,为性能优化提供了主要的参考依据,是一个非常实用的功能,MySQL慢查询日志的开启和配置非常简单,可以指定记录的文件(或者表),超过的时间阈值等就可 ...
- mysql慢查询日志功能的使用
作用:mysql慢查询日志可监控有效率问题的SQL .. 一.开启mysql慢查询日志功能 1.查看是否开启 未使用索引的SQL记录日志查询 mysql> show variables like ...
随机推荐
- 刷票 变 IP
刷票 变 IP
- 【转】为什么C++编译器不能支持对模板的分离式编译
出处:刘未鹏(pongba) http://blog.csdn.net/pongba) 首先,一个编译单元(translation unit)是指一个.cpp文件以及它所#include的所有.h ...
- 线性表-串:KMP模式匹配算法
一.简单模式匹配算法(略,逐字符比较即可) 二.KMP模式匹配算法 next数组:j为字符序号,从1开始. (1)当j=1时,next=0: (2)当存在前缀=后缀情况,next=相同字符数+1: ( ...
- 怎么解决div覆盖内容却没覆盖的问题?
一.在上下结构的div布局中,可能出现div覆盖div,但是内容却没有出现覆盖的现象.看看一个示例 1: <!DOCTYPE html> 2: <html> 3: <he ...
- javscript面试题(一)
你如何理解HTML结构的语意化? 1.去掉或样式丢失的时候能让页面呈现清晰的结构:2.屏幕阅读器(如果访客有视障)会完全根据你的标记来“读”你的网页:3.PDA.手机等设备可能无法像普通电脑的浏览器一 ...
- 深度学习-使用cuda加速卷积神经网络-手写数字识别准确率99.7%
源码和运行结果 cuda:https://github.com/zhxfl/CUDA-CNN C语言版本参考自:http://eric-yuan.me/ 针对著名手写数字识别的库mnist,准确率是9 ...
- dataStructure@ Check if a directed graph has cycles
#include<iostream> #include<cstdio> #include<cstring> #include<limits> #incl ...
- acm-字符串整理
一.后缀数组 #define maxn 200015 int wa[maxn],wb[maxn],wv[maxn],WS[maxn]; int len, sa[maxn] ; inline void ...
- CodeForces 456D&455B--A Lot of Games(Trie+博弈)
题意:给n个字符串.进行k次游戏.每局开始,字符串为空串,然后两人轮流在末尾追加字符,保证新的字符串为集合中某字符串的前缀,不能操作者输,新一轮由上一句输的人先手. 题解: #看到此题毫无头绪,队友写 ...
- SQL2008-删除时间字段重复的方法
ID EMAgitation_ID YieldDateTime 1 2 2012-02-11 10:18:54.0002 2 ...