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 ...
随机推荐
- 求一字符串最长不重复字符子串的长度【Java 版】
一. 前言 最近学习有点断断续续,整理的一些知识点要么不完整,要么完全没搞懂,不好拿上台面,还是先在草稿箱躺着吧.偶尔在浏览大牛博客http://coolshell.cn的时候,发现大牛业余时间也在做 ...
- Zabbix探索:LDAP的认证方式
这两天部署了Zabbix测试环境,终于用Puppet部署完成了.总是存在一些小问题,如服务不起动啦之类的. LDAP验证方式配置 刚刚配置Zabbix的用户管理,使用LDAP方式认证. 比较惊喜的是L ...
- 2016"百度之星" - 复赛(Astar Round3) 1003 拍照
拍照 思路:先静态,离线树状数组,分别统计每个点向左向右能看到的船的数量.再枚举整个区间求最大值. 应为人和船都是动态的,假设船往左走,处理每个点看到向左最大船的数量,满足动态条件.就是向左的船一开始 ...
- 50道经典的JAVA编程题(31-35)
50道经典的JAVA编程题(31-35),今天考完了java,在前篇博客里面贴出了题了,见:<今天考试的JAVA编程题>.考完了也轻松了,下个星期一还考微机原理呢,啥都不会,估计今天就做到 ...
- 宿主进程 vshost.exe
Hosting Process (vshost.exe) 宿主进程是VS的一个特性.可以提高调试的性能,可以进行部分信任调试(partial trust debugging),可以进行设计时表达式计算 ...
- ScrollView详解
创建方式 1:StoryBoard/Xib 这里StoarBoard就不多说,直接拖就可以,说太多没意思,如果连这个都不会我只能先给你跪了! 2:代码: 1 2 3 CGRect bounds = [ ...
- Hive Metastore 代码简析
1. hive metastore 内部结构 1.1 包结构 从package结构来看,主要的5个package,让我们来看看这几个package的内容 (1) metastorepackage是m ...
- C#学习笔记(一):一些零散但重要的知识点汇总
集合类型 数组 数组需要注意的就是多维数组和数组的数组之间的区别,如下: using System; namespace Study { class Program { static void Mai ...
- MSSQLSERVER数据库- 慎用SELECT INTO复制表
很多时候我们习惯于用SELECT INTO复制一个表或表结构,因为它方便,快捷,而且在某些情况下效率比INSERT INTO 效率要高一些.但是要注意: SELECT INTO 复制表或表结构的时候, ...
- 关于Windows文件名和路径名的那些事
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:关于Windows文件名和路径名的那些事.