
正文
mysql慢日志怎么查询 mysql查看慢日志
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
如何开启MySQL慢查询日志
开启mysql慢查询日志查看配置:
//查看慢查询时间
show variables like "long_query_time";默认10s
//查看慢查询配置情况
show status like "%slow_queries%";
//查看慢查询日志路径
show variables like "%slow%";
修改配置文件
在my.ini中加上下面两句话
log-slow-queries = D:\wamp\mysql_slow_query.log
long_query_time=5
第一句使用来定义慢查询日志mysql慢日志怎么查询的路径(因为是windowsmysql慢日志怎么查询,所以不牵涉权限问题)
第二句使用来定义查过多少秒的查询算是慢查询mysql慢日志怎么查询,mysql慢日志怎么查询我这里定义的是5秒
第二步:查看关于慢查询的状态
执行如下SQL语句来查看mysql慢查询的状态
show variables like '%slow%';
执行结果会把是否开启慢查询、慢查询的秒数、慢查询日志等信息打印在屏幕上。
第三步:执行一次慢查询操作
其实想要执行一次有实际意义的慢查询比较困难mysql慢日志怎么查询,因为在自己测试的时候,就算查询有20万条数据的海量表,也只需要0.几秒。我们可以通过如下语句代替:
SELECT SLEEP(10);
第四步:查看慢查询的数量
通过如下sql语句,来查看一共执行过几次慢查询:
show global status like '%slow%';
mysql日志的配置:
注意:这些日文件在mysql重启的时候才会生成
#记录所有sql语句
log=E:/mysqllog/mysql.log
#记录数据库启动关闭信息,以及运行过程中产生的错误信息
log-error=E:/mysqllog/myerror.log
# 记录除select语句之外的所有sql语句到日志中,可以用来恢复数据文件
log-bin=E:/mysqllog/bin
#记录查询慢的sql语句
log-slow-queries=E:/mysqllog/slow.log
#慢查询时间
long_query_time=0.5
相关问答
Q1: 如何查找MySQL中查询慢的SQL语句
一、MySQL数据库有几个配置选项可以帮助mysql慢日志怎么查询我们及时捕获低效SQL语句1mysql慢日志怎么查询,slow_query_log这个参数设置为ONmysql慢日志怎么查询,可以捕获执行时间超过一定数值mysql慢日志怎么查询的SQL语句。2mysql慢日志怎么查询,long_query_time当SQL语句执行时间超过此数值时,就会被记录到日志中,建议设置为1或者更短。3,slow_query_log_file记录日志的文件名。4,log_queries_not_using_indexes这个参数设置为ON,可以捕获到所有未使用索引的SQL语句,尽管这个SQL语句有可能执行得挺快。二、检测mysql中sql语句的效率的方法1、通过查询日志(1)、Windows下开启MySQL慢查询MySQL在Windows系统中的配置文件一般是是my.ini找到[mysqld]下面加上代码如下log-slow-queries=F:/MySQL/log/mysqlslowquery。loglong_query_time=2
Q2: mysql 慢日志怎么按时间查询
这是一个慢查询日志的展示工具,能够帮助 DBA 或者开发人员分析数据库的性能问题,给出全面的数据摆脱直接查看 slow-log。QAN(Query Analytics)
PMM 目前有 2 个版本,但是对于 QAN 来说其大致由三部分组成:
QAN-Agent(client):负责采集 slow-log 的数据并上报到服务端
QAN-API(server):负责存储采集的数据,并对外提供查询接口
QAN-APP:专门用来展示慢查询数据的 grafana 第三方插件
1. 数据流转
slow-log -- QAN-Agent -- QAN-API -- QAN-APP(grafana)
2. pmm1 架构图
3. pmm2 架构图
Q3: MySQL开启慢查询日志log-slow-queries的方法
一个普通WEB站点的页面常常需要查询N条SQL语句后才能得出页面结果mysql慢日志怎么查询,当网站访问速度慢而前端做mysql慢日志怎么查询了大量优化工作以后,数据库瓶颈的查找也是WEB优化的一个重要部分。
MySQL中提供mysql慢日志怎么查询了一个慢查询的日志记录功能,可以把查询SQL语句时间大于多少秒的语句写入慢查询日志,日常维护中可以通过慢查询日志的记录信息快速准确地判断问题所在。
开启慢查询功能
log-slow-queries
慢查询日志文件路径
long_query_time
超过多少秒的查询就写入日志
打开my.cnf配置文件,加入以下代码mysql慢日志怎么查询:
log-slow-queries
=
/tmp/mysql-slow.log
long_query_time
=
2
如果是windows则在my.ini中加入
my.ini
复制代码
代码如下:
log_slow_queries
long_query_time
=
2
保存退出,重启MySQL即可。
关于long_query_time设置
通常我们设置long_query_time的值为2,表示查询SQL语句超过两秒的就记录,通常2秒就够了,默认是10秒。然而,对于许多WEB程序来说,2秒的查询还是太长了。的确在许多站点中,一个SQL语句超过1秒的执行时间都算慢的了。
mysql5.1.21以后才提供更细粒度的long_query_time设定,之前的版本只能以秒做单位。
查看日志
复制代码
代码如下:
[root@lizhong
tmp]#
tail
-f
/tmp/mysql_slow.log
Time:
120815
23:22:11
User@Host:
root[root]
@
localhost
[]
Query_time:
9.869362
Lock_time:
0.000035
Rows_sent:
1
Rows_examined:
6261774
SET
timestamp=1294388531;
select
count(*)
from
blog;
第一行:执行时间
第二行:执行用户
第三行(重要):
Query_time
SQL执行的时间,越长则越慢
Lock_time
在MySQL服务器阶段(不是在存储引擎阶段)等待表锁时间
Rows_sent
查询返回的行数
Rows_examined
查询检查的行数
最后
1、日志不能说明一切问题,知识表象,可能跟锁表、系统繁忙的偶发性有关,当然,如果某条SQL语句经常查询慢那基本可以判断是可以再次优化的。
2、不要开启log-queries-not-using-indexes没有索引查询记录功能,这个功能实际用处不大。就是记录SQL查询的时候,没有索引的通通记录。虽然索引对查询的速度有影响,但要看数据量大小。因为开启了这个功能以后,select
*
from
tab这样的查询也会被记录在日志中,很快日志文件就会被垃圾信息给充满,从而影响主要的查询慢日志记录的查看。
3、MySQL自带了mysqldumpslow工具用来分析slow
query日志,或者其它工具也可以,通过工具配合可以更好的分析。
Q4: 如何动态开启mysql的慢查询日志记录
在日常开发当中,经常会遇到页面打开速度极慢的情况,通过排除,确定了,是数据库的影响,为了迅速查找具体的SQL,可以通过Mysql的日志记录方法。
-- 打开sql执行记录功能
set global log_output='TABLE'; -- 输出到表
set global log=ON; -- 打开所有命令执行记录功能general_log, 所有语句: 成功和未成功的.
set global log_slow_queries=ON; -- 打开慢查询sql记录slow_log, 执行成功的: 慢查询语句和未使用索引的语句
set global long_query_time=0.1; -- 慢查询时间限制(秒)
set global log_queries_not_using_indexes=ON; -- 记录未使用索引的sql语句
-- 查询sql执行记录
select * from mysql.slow_log order by 1; -- 执行成功的:慢查询语句,和未使用索引的语句
select * from mysql.general_log order by 1; -- 所有语句: 成功和未成功的.
-- 关闭sql执行记录
set global log=OFF;
set global log_slow_queries=OFF;
-- long_query_time参数说明
-- v4.0, 4.1, 5.0, v5.1 到 5.1.20(包括):不支持毫秒级别的慢查询分析(支持精度为1-10秒);
-- 5.1.21及以后版本 :支持毫秒级别的慢查询分析, 如0.1;
-- 6.0 到 6.0.3: 不支持毫秒级别的慢查询分析(支持精度为1-10秒);
-- 6.0.4及以后:支持毫秒级别的慢查询分析;
通过日志中记录的Sql,迅速定位到具体的文件,优化sql看一下,是否速度提升了呢?
Q5: 如何開啟mysql的日志或如何查看 mysql的日志文件
错误日志: -log-err 查询日志: -log 慢查询日志: -log-slow-queries 更新日志: -log-update 二进制日志: -log-bin 在mysql的安装目录下mysql慢日志怎么查询,打开my.ini,在后面加上上面的参数mysql慢日志怎么查询,保存后重启mysql服务就行了。 例如:#Enter a name for the binary log. Otherwise a default name will be used. #log-bin=#Enter a name for the query log file. Otherwise a default name will be used. #log=#Enter a name for the error log file. Otherwise a default name will be used. log-error=#Enter a name for the update log file. Otherwise a default name will be used. #log-update= 上面只开启了错误日志,要开其他的日志就把前面的“#”去掉
mysql慢日志怎么查询的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于mysql查看慢日志、mysql慢日志怎么查询的信息别忘了在本站进行查找喔。







