`
阅读更多

mysql慢查询,mysql慢查询日志

 

================================

©Copyright 蕃薯耀 2020-11-27

http://fanshuyao.iteye.com/

 

一、配置文件设置慢查询,永久有效,一般不设置,只需要启动慢查询1、2天就行

# 启动慢查询
slow_query_log=1

#不设置的话,默认为创建一个日志文件:C:\ProgramData\MySQL\MySQL Server 5.5\data\host_name-slow.log
#slow_query_log_file=不用设置了

#慢查询阈值
long_query_time=2

#日志存储方式。log_output='FILE'表示将日志存入文件,默认值是'FILE'。#log_output='TABLE'表示将日志存入数据库。#table方式可以直接查表(SELECT * FROM mysql.slow_log;)
#需要启用慢查询日志,又需要能够获得更高的系统性能,那么建议优先记录到文件。
log_output=FILE

 

二、设置临时有效,重启失效

SET GLOBAL slow_query_log=1;

 使用set global slow_query_log=1开启了慢查询日志只对当前数据库生效,MySQL重启后则会失效。

 

三、查看慢查询的配置信息

SHOW VARIABLES  LIKE '%slow_query_log%';

 

mysql> SHOW VARIABLES  LIKE '%slow_query_log%';
+---------------------+----------------------------------------------------------------------+
| Variable_name       | VALUE                                                                |
+---------------------+----------------------------------------------------------------------+
| slow_query_log      | ON                                                                   |
| slow_query_log_file | C:\ProgramData\MySQL\MySQL SERVER 5.5\DATA\xxx-slow.log |
+---------------------+----------------------------------------------------------------------+
2 ROWS IN SET (0.00 sec)

 

四、查看慢查询日志文件

SHOW VARIABLES LIKE 'slow_query_log_file';

 

mysql> SHOW VARIABLES LIKE 'slow_query_log_file';
+---------------------+----------------------------------------------------------------------+
| Variable_name       | VALUE                                                                |
+---------------------+----------------------------------------------------------------------+
| slow_query_log_file | C:\ProgramData\MySQL\MySQL SERVER 5.5\DATA\xxx-slow.log |
+---------------------+----------------------------------------------------------------------+
1 ROW IN SET (0.00 sec)

 

 

五、设置慢查询阈值,默认是10秒

SET GLOBAL long_query_time = 2;

 

六、查询慢查询设置的时间

#(需要重新连接或新开一个会话才能看到修改值)
SHOW VARIABLES LIKE 'long_query_time';

#或 
#(下面为全局的,不需要新创建会话)
SHOW GLOBAL VARIABLES LIKE 'long_query_time';

 

mysql> SHOW VARIABLES LIKE 'long_query_time';
+-----------------+-----------+
| Variable_name   | VALUE     |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
1 ROW IN SET (0.00 sec)


mysql> SHOW GLOBAL VARIABLES LIKE 'long_query_time';
+-----------------+-----------+
| Variable_name   | VALUE     |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
1 ROW IN SET (0.00 sec)

#修改慢查询时间之后
mysql> SHOW GLOBAL VARIABLES LIKE 'long_query_time';
+-----------------+----------+
| Variable_name   | VALUE    |
+-----------------+----------+
| long_query_time | 2.000000 |
+-----------------+----------+
1 ROW IN SET (0.00 sec)

 

七、设置日志存储方式,FILE或者TABLE

 

FILE 文件方式,得找到文件打开
TABLE 方式可以直接查表(SELECT * FROM mysql.slow_log;)

SET GLOBAL log_output = 'TABLE';

 

查看慢查询输出的方式:FILE或者TABLE(设置输出方式:set global log_output='TABLE';)

SHOW VARIABLES LIKE '%log_output%';

 

mysql> SHOW VARIABLES LIKE '%log_output%';
+---------------+-------+
| Variable_name | VALUE |
+---------------+-------+
| log_output    | TABLE |
+---------------+-------+
1 ROW IN SET (0.00 sec)

 

八、从表中查询慢查询语句

SELECT * FROM mysql.slow_log;

 

九、执行慢查询语句

SELECT SLEEP(3);

 SLEEP(3)为等待3秒

 

十、查询慢查询的sql语句

SELECT * FROM mysql.slow_log l ORDER BY l.`start_time` DESC;

 

十一、查看慢查询语句的数量

SHOW GLOBAL STATUS LIKE '%Slow_queries%';

 

mysql> SHOW GLOBAL STATUS LIKE '%Slow_queries%';
+---------------+-------+
| Variable_name | VALUE |
+---------------+-------+
| Slow_queries  | 2     |
+---------------+-------+
1 ROW IN SET (0.00 sec)

 

 

十二、未使用索引的查询也记录到慢查询

SHOW VARIABLES LIKE 'log_queries_not_using_indexes';

 

mysql> SHOW VARIABLES LIKE 'log_queries_not_using_indexes';
+-------------------------------+-------+
| Variable_name                 | VALUE |
+-------------------------------+-------+
| log_queries_not_using_indexes | OFF   |
+-------------------------------+-------+
1 ROW IN SET (0.00 sec)

 

开启未使用索引的查询也记录到慢查询

SET GLOBAL log_queries_not_using_indexes=1;

 

开启了这个参数,其实使用full index scan的SQL也会被记录到慢查询日志。

 

 

 

================================

©Copyright 蕃薯耀 2020-11-27

http://fanshuyao.iteye.com/

1
1
分享到:
评论

相关推荐

    Mysql慢查询日志查看

    Mysql 慢查询日志查看 Mysql 慢查询日志查看是指在 Mysql 数据库中,记录和分析执行时间较长的查询语句,以便优化数据库性能和提高查询效率。慢查询日志查看可以帮助数据库管理员和开发者快速地定位和优化数据库中...

    mysql慢查询日志的使用

    ### MySQL慢查询日志的使用 #### 概述 MySQL慢查询日志是MySQL提供的一种日志记录方式,用于记录所有执行时间超过指定阈值(默认10秒)的SQL语句,帮助开发者和DBA定位数据库性能瓶颈,优化SQL查询效率。 #### ...

    MySQL慢查询日志

    ### MySQL慢查询日志详解 #### 一、慢查询日志概述 MySQL慢查询日志是一种重要的工具,用于记录执行时间超过预设阈值的SQL语句。通过对这些记录进行分析,可以找出数据库中的性能瓶颈,并据此采取相应的优化措施。...

    mysql慢日志查询

    ### MySQL慢查询日志详解 #### 一、慢查询日志简介 MySQL慢查询日志是一种重要的工具,用于记录执行时间超过指定阈值的SQL语句。这些记录可以帮助数据库管理员和开发人员识别并优化那些效率较低的查询,从而提高...

    Mysql慢查询日志_1--如何开启慢查询日志

    MySQL 慢查询日志配置 MySQL 慢查询日志是 MySQL database management system 的一个重要功能,通过该功能可以记录执行时间超过某个阈值的 SQL 语句,从而帮助数据库管理员或开发人员对数据库的性能进行优化和改进...

    MySQL优化篇:慢查询日志.pdf

    为了让慢查询日志永久生效,需要修改MySQL的配置文件`***f`,在`[mysqld]`部分加入慢查询日志相关的配置,例如:`slow_query_log=1`表示开启慢查询日志,`long_query_time=3`设置慢查询阈值为3秒,`log_output=FILE`...

    mysql的慢日志配置查询和show processlist使用

    通过分析慢查询日志,我们可以找到 MySQL 中执行时间最长的 SQL 语句,并对其进行优化,从而提高 MySQL 的性能。 在上面的例子中,我们手动触发了两个慢查询,一个是 11 秒的慢查询,另一个是 20 秒的慢查询。然后...

    mysql 慢查询页面工具

    总结来说,MySQL 慢查询页面工具 Query-Digest-UI 是一个基于 Percona Toolkit 的图形化监控解决方案,它帮助管理员可视化 MySQL 的慢查询日志,从而更有效地进行性能调优。通过安装和配置该工具,你可以实时监控...

    mysql慢日志分析工具mysqlsla

    MySQLsla是一款专为MySQL数据库设计的慢查询日志分析工具,它可以帮助数据库管理员高效地分析和理解MySQL服务器上的慢查询情况,从而优化数据库性能。在MySQL的运行过程中,某些SQL语句执行时间过长,就会被记录到慢...

    cpp-Slowquery图形化显示MySQL慢日志工具

    "cpp-Slowquery图形化显示MySQL慢日志工具" 指的是一款基于C++语言开发的工具,名为Slowquery,它的主要功能是解析并以图形化方式展示MySQL数据库的慢查询日志。这个工具帮助数据库管理员更直观地理解和分析MySQL...

    MySQL慢查询日志:性能分析的利器

    ### MySQL慢查询日志:性能分析的利器 #### 一、引言:慢查询日志的重要性 在数据库管理中,性能分析是一个至关重要的过程。随着业务的发展和数据量的增长,数据库面临的压力也在不断增加,这就需要我们不断寻找...

    MySQL慢查询日志.docx

    MySQL的慢查询日志是数据库管理员用于识别和优化性能瓶颈的重要工具。它记录了执行时间超过预设阈值的SQL查询,帮助我们定位那些影响数据库性能的查询操作。通过分析这些慢查询,我们可以采取相应的优化策略,比如...

    Mysql慢查询日志

    MySQL的慢查询日志是数据库管理员用来诊断性能问题的重要工具,它记录了执行时间超过预设阈值的SQL查询。这个日志可以帮助我们识别并优化那些导致系统响应变慢的查询,从而提升数据库的整体性能。 **慢查询日志概念...

    MySQL慢查询相关知识

    慢查询日志是MySQL用于记录所有执行时间超过特定阈值的SQL语句的功能。启用此功能可以帮助我们找到需要优化的查询。 ##### 1. 查看慢查询日志的配置 可以使用`SHOW VARIABLES`命令来查看慢查询日志的相关配置,...

    mysql慢查询工具Anemometer

    MySQL的慢查询日志是数据库性能优化的重要工具,它记录了执行时间超过预设阈值的所有SQL查询。Anemometer,作为一个专为MySQL设计的慢查询分析工具,可以帮助数据库管理员更有效地理解和解决性能问题。 Anemometer...

    线上慢查询日志文档及命令

    MySQL的慢查询日志是数据库管理员用来诊断性能问题的重要工具,尤其在处理线上服务时,对SQL查询效率的要求更为严格。本文将详细讲解如何利用慢查询日志来优化线上MySQL数据库的性能,并介绍相关的操作步骤和命令。 ...

    mysql开启查看慢查询日志借鉴.pdf

    MySQL的慢查询日志是数据库管理员用来识别和优化性能瓶颈的重要工具。它记录了执行时间超过预设阈值的SQL查询,帮助我们发现并解决可能导致系统性能下降的问题。以下是关于如何开启、查看和分析MySQL慢查询日志的...

    mysql 慢查日志实时解析工具

    我们知道mysql慢日志解析工具有很多种,比如我们常用的mysqldumpslow、pt-query-digest等,这些都是比较有效的解析工具,今天介绍的是基于go写的一款实时解析日志工具

    关于Mysql通用查询日志和慢查询日志分析

    总之,理解并有效地使用MySQL的通用查询日志和慢查询日志是数据库性能监控和调优的关键步骤。通过对日志的分析,我们可以识别潜在的性能问题,进而采取措施优化数据库,提升服务质量和用户体验。

Global site tag (gtag.js) - Google Analytics