SET GLOBAL slow_query_log = 1
#slowlog config
slow_query_log = 1
long_query_time = 2
log_output = FILE
slow_query_log_file = /data1/mysqldata/mysql5.1.57/logs/slowlog.log
#error logs
log-error = /data1/mysqldata/mysql5.1.57/logs/error.log
在mysql5.1之前的版本中,只需要
log-slow-queries=/var/log/mysqld/log-slow-queries.log
复制代码
就可以开启Slow Query
log(慢查询日志)了。
但这样在mysql 5.1中并不管用。
日志中会有如下的错误:
[Warning]
'--log_slow_queries' is deprecated and will be removed in a future release.
Please use ''--slow_query_log'/'--slow_query_log_file''
instead.
修改如下:
log_output=FILE # also can be FILE,TABLE or TABLE or NONE
slow-query-log=1
slow_query_log_file=/var/log/mysqld/log-slow-queries.log
复制代码
|
1,配置开启
在mysql配置文件my.cnf中增加
log-slow-queries=/var/lib/mysql/slowquery.log
(指定日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.log)
long_query_time=2
(记录超过的时间,默认为10s)
log-queries-not-using-indexes
(log下来没有使用索引的query,可以根据情况决定是否开启)
log-long-format
(如果设置了,所有没有使用索引的查询也将被记录)
#打开慢查询
slow_query_log
#存在哪里
slow_query_log_file=/home/mysql/data3306/log-slow.log
#多长时间算慢查询
long_query_time
= 1
2,查看方式
使用mysql自带命令mysqldumpslow查看
常用命令
-s ORDER what to sort by (t, at, l, al, r, ar etc), ‘at’ is
default
-t NUM just show the top n queries
-g PATTERN grep: only consider
stmts that include this string
eg:
s,是order的顺序,说明写的不够详细,俺用下来,包括看了代码,主要有
c,t,l,r和ac,at,al,ar,分别是按照query次数,时间,lock的时间和返回的记录数来排序,前面加了a的时倒序 -t,是top
n的意思,即为返回前面多少条的数据 -g,后边可以写一个正则匹配模式,大小写不敏感的
mysqldumpslow -s c -t 20 host-slow.log
mysqldumpslow -s r -t 20
host-slow.log
上述命令可以看出访问次数最多的20个sql语句和返回记录集最多的20个sql。
mysqldumpslow -t 10 -s t -g “left join”
host-slow.log这个是按照时间返回前10条里面含有左连接的sql语句。
分享到:
相关推荐
以下是关于如何开启、查看和分析MySQL慢查询日志的详细说明: 首先,要在MySQL中启用慢查询日志,你需要编辑MySQL配置文件。在Windows系统中,该文件通常是`my.ini`,而在Linux系统中则是`my.cnf`。在`[mysqld]`...
MySQL 慢查询日志配置 ...本文介绍了如何在 Windows 和 Linux 平台下开启 MySQL 慢查询日志,并解释了慢查询日志的重要性。通过慢查询日志,我们可以更好地优化数据库的性能,提高应用程序的响应速度。
为了让慢查询日志永久生效,需要修改MySQL的配置文件`***f`,在`[mysqld]`部分加入慢查询日志相关的配置,例如:`slow_query_log=1`表示开启慢查询日志,`long_query_time=3`设置慢查询阈值为3秒,`log_output=FILE`...
### MySQL慢查询日志的使用 #### 概述 MySQL慢查询日志是MySQL提供的一种日志记录方式,用于记录所有执行时间超过指定阈值(默认10秒)的SQL语句,帮助开发者和DBA定位数据库性能瓶颈,优化SQL查询效率。 #### ...
### MySQL慢查询日志详解 #### 一、慢查询日志概述 MySQL慢查询日志是一种重要的工具,用于记录执行时间超过预设阈值的SQL语句。通过对这些记录进行分析,可以找出数据库中的性能瓶颈,并据此采取相应的优化措施。...
### MySQL慢查询日志详解 #### 一、慢查询日志简介 MySQL慢查询日志是一种重要的工具,用于记录执行时间超过指定阈值的SQL语句。这些记录可以帮助数据库管理员和开发人员识别并优化那些效率较低的查询,从而提高...
MySQL 5.5 开启慢查询日志的方法
在优化过程中,可能需要使用`EXPLAIN`关键字来查看查询的执行计划,理解MySQL如何执行SQL语句。例如: ```sql EXPLAIN SELECT * FROM your_table WHERE some_condition; ``` `EXPLAIN`可以帮助识别潜在的问题,如...
1. **开启慢查询日志**:在MySQL配置文件(如`my.cnf`或`my.ini`)中,可以通过设置相关参数来开启慢查询日志功能。关键配置项包括: - `slow_query_log`:控制是否启用慢查询日志,默认为`OFF`。 - `long_query_...
在本篇文章中,将会详细介绍如何开启MySQL的慢查询日志功能,并且提供了Linux与Windows系统下的具体操作方法。 首先,开启MySQL慢查询日志功能需要编辑MySQL的配置文件,通常在Linux系统下是***f,而在Windows系统...
在MySQL 5.7.9版本中,开启慢查询日志可以帮助追踪运行时间过长的SQL语句,从而进行性能调优。以下是对开启慢查询日志及其相关配置的详细说明: 1. **启用慢查询日志**: - 动态设置:通过执行`set global slow_...
以下是如何开启MySQL慢查询日志记录及其相关的知识点: 1. **开启慢查询日志**: 要启用慢查询日志,你需要编辑MySQL的配置文件。在Windows系统中,这个文件通常是`my.ini`,而在Linux系统中则是`my.cnf`。在 `...
在MySQL中,开启慢查询日志可以通过修改配置文件实现。在Windows系统中,配置文件通常是`my.ini`,而在Linux系统中则是`my.cnf`。以下是在这两个文件中开启慢查询日志的示例配置: ```ini [mysqld] slow-query-log=...
开启慢查询日志和查看当前设置,可以使用`SHOW VARIABLES LIKE '%slow_query%'`。`slow_query_log_file`定义了慢查询日志的存储位置,而`log_output`决定了日志是输出到文件还是表。慢查询日志还包括记录未使用索引...
"cpp-Slowquery图形化显示MySQL慢日志工具" 指的是一款基于C++语言开发的工具,名为Slowquery,它的主要功能是解析并以图形化方式展示MySQL数据库的慢查询日志。这个工具帮助数据库管理员更直观地理解和分析MySQL...
MySQL的慢查询日志是数据库管理员用来诊断性能问题的重要工具,它记录了执行时间超过预设阈值的SQL查询。这个日志可以帮助我们识别并优化那些导致系统响应变慢的查询,从而提升数据库的整体性能。 **慢查询日志概念...
数据库开启慢查询日志 修改配置文件 在配置文件my.ini中加上下面两句话 log-slow-queries = C:\xampp\mysql_slow_query.log long_query_time=3 第一句使用来定义慢查询日志的路径(若是linux系统,会涉及权限问题)...
查看开启状态查看日志文件查看慢查询时间查看日志保存方式查看有多少条慢查询记录修改配置文件配置好后需要重启mysql,试试下面的慢查询:查看慢日志文件:mysql