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 ...
随机推荐
- HDU 2602 Find a way BFS搜索
题意:找到总时间最少的KFC 分析:两遍BFS 找KFC比较一下 注:有些地方的KFC可能到达不了,wa了一次 #include <iostream> #include <cstdi ...
- 移动端混合型App(hybrid app)自动化测试选型与实践
背景 公司产品的业务已经发展到了移动端,开发选型已经结束,决定使用phonegap做移动端的web应用开发平台.考虑到业务的复杂与多样,移动端的测试同样需要自动化.在网上看了很多,最终锁定了3个移动端 ...
- linux常识
一.linux常识 1.为什么学习linux及如何学习linux? 基于linux的操作系统是一种自由和开放源代码的类UNIX操作系统,其定义组件是linux内核,其稳定性.安全性.处理多并发已经得到 ...
- 使用C语言实现二维,三维绘图算法(2)-解析曲面的显示
使用C语言实现二维,三维绘图算法(2)-解析曲面的显示 ---- 引言---- 每次使用OpenGL或DirectX写三维程序的时候, 都有一种隔靴搔痒的感觉, 对于内部的三维算法的实现不甚了解. 其 ...
- 山东省2016acm省赛
A 水 #include <iostream> #include <cstdio> #include <algorithm> #include <list&g ...
- shell文件/路径处理
#在此加上是不是目录的判断. if [ "`ls -A $dir`" = "" ]; then echo "$dir is empty" e ...
- mysql fetch 系列函数
浏览器输出内容同上. 当使用 MYSQL_BOTH 或省略该参数是,将同时具有 MYSQL_NUM 与 MYSQL_ ASSOC 的特性. MySQL mysql_fetch_array 函数取得查询 ...
- HDU-4622 Reincarnation 后缀数组 | Hash,维护和,扫描
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4622 题意:给一个字符串,询问某字串的不同字串的个数. 可以用后缀数组来解决,复杂度O(n).先求出倍 ...
- POJ3468--A Simple Problem with Integers(Splay Tree)
虽然有点难,但是这套题都挂了一个月了啊喂…… 网上模板好多……最后还是抄了kuangbin聚聚的,毕竟好多模板都是抄他的,比较习惯…… POJ 3468 题意:给n个数,两种操作,区间整体加一个数,或 ...
- Java经典面试题
1. Java中的异常处理机制的简单原理和应用. 当Java 程序违反了Java的语义规则时,Java虚拟机就会将发生的错误表示为一个异常.违反语义规则包括2种情况.一种是Java类库内置的语义检查. ...