于记录了所有的 query,包括所有的 select,体积比较大,开启后对性能也有较大的影响, 所以请大家慎用该功能。 一般只用于跟踪某些特殊的sql 性能问题才会短暂打开该功能。默认的查询日志文件名为 hostname.log。
慢查询日志
顾名思义,慢查询日志中记录的是执行时间较长的 query,也就是我们常说的 slow
query,通过设 —log-slow-queries[=file_name]来打开该功能并设置记录位置和文件名, 默认文件名为 hostname-slow.log,默认目录也是数据目录。
慢查询日志采用的'是简单的文本格式, 可以通过各种文本编辑器查看其中的内容。中其 记录了语句执行的时刻,执行所消耗的时间,执行用户,连接主机等相关信息。MySQL 还提 供了专门用来分析满查询日志的工具程序mysqlslowdump, 用来帮助数据库管理人员解决可 能存在的性能问题。
在日常开发当中,经常会遇到页面打开速度极慢的情况,通过排除,确定了,是数据库的影响,为了迅速查找具体的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及以后:支持毫秒级别的慢查询分析
这是一个慢查询日志的展示工具,能够帮助 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 架构图
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)