于记录了所有的 query,包括所有的 select,体积比较大,开启后对性能也有较大的影响, 所以请大家慎用该功能。 一般只用于跟踪某些特殊的sql 性能问题才会短暂打开该功能。默认的查询日志文件名为 hostname.log。
慢查询日志
顾名思义,慢查询日志中记录的是执行时间较长的 query,也就是我们常说的 slow
query,通过设 —log-slow-queries[=file_name]来打开该功能并设置记录位置和文件名, 默认文件名为 hostname-slow.log,默认目录也是数据目录。
慢查询日志采用的'是简单的文本格式, 可以通过各种文本编辑器查看其中的内容。中其 记录了语句执行的时刻,执行所消耗的时间,执行用户,连接主机等相关信息。MySQL 还提 供了专门用来分析满查询日志的工具程序mysqlslowdump, 用来帮助数据库管理人员解决可 能存在的性能问题。
在剖析服务器性能的过程中,慢查询是一个很好的工具。
我们可以通过设置slow_query_log来开启慢查询日志,long_query_time属性来设置慢查询定义阈值,设置slow_query_log_file来定义慢查询日志的存储文件。
当前环境是windows10,Mysql8.0.15版本。
show global variables like 'slow_query%'
show global variables like 'long_query%'
set global slow_query_log_file='F:ATempslowly.log'
set global long_query_time=2,单位为秒,可以通过设置long_query_time为0 来捕获所有的查询。
select sleep(3);
生成的日志:
C:Program FilesMySQLMySQL Server 8.0binmysqld.exe, Version: 8.0.15 (MySQL Community Server - GPL). started with:
TCP Port: 3306, Named Pipe: MySQL
Time Id Command Argument
# Time: 2021-05-19T14:38:24.960151Z
# User@Host: root[root] @ localhost [::1] Id: 14
# Query_time: 3.000456 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0
use env
SET timestamp=1621435101
select sleep(3)
LIMIT 0, 1000
包含的信息包括执行查询的用户,查询的语句以及发起时间等。
正在学习,如果有误或不足,请指出交流。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)