mysql分析日志_MYSQL 索引(三)--- SQL日志分析

慢查询日志

Mysql 的慢查询日志是 Myql 提供的一种日志记录,用来记录在 Myql 中响应时间查过阈值的语句,具体指运行时间超过 long_query_time 值的 SQL,则会被记录在日志中。long_query_time 默认为 10,单位为秒。

默认情况下,Mysql 数据库没有开启慢查询日志,需要我们手动来设置这个参数。如果不是调优需要,不建议开启慢查询日志,多少会影响性能。Mysql 慢查询日志支持写入到文件。

查看开启慢查询

SHOW VARIABLES LIKE '%slow_query_log%'; # 查看慢查询状态

默认情况:

3f0f12a6a865b9e502f353e7d449a65c.png

开启

set global slow_query_log=1;

如果要永久生效,必须修改配置文件 my.cnf:

在 [mysqld] 下添加:

slow_query_log = 1

slow_query_log_file=/var/lib/mysql/localhost-slow.log

long_query_time = 3

log_output = FILE

mysql中 判断大于long_query_time,而非大于等于

SHOW VARIABLES LIKE 'long_query_time%';

8b33d8479e3c56915073f36d95dade3b.png

set global long_query_time=3; # 修改后需要重新打开会话或打开新会话才会生效

0205193f6975802cbaa0b0f9487445b5.png

0009e348127c9cd22a8b5a10de0d897f.png

a7e2d39181c27002979785a340345ebb.png

mysql日志分析工具

mysqldumpslow --help

15a801bbb4c646ac1e43bf8a3e1775cd.png

参数

含义

s

按何种方式排序

c

访问次数

l

锁定时间

r

返回记录

t

查询时间

al

平均锁定事件

ar

平均返回记录时间

at

平均查询时间

t

返回前面多少条的数据

g

后面搭配正则匹配模式,大小写不敏感

# 得到返回记录集最多的十个 SQL,/var/lib/mysql/localhost-slow.log 是慢查询日志路径

mysqldumpslow -s r -t 10 /var/lib/mysql/localhost-slow.log

# 得到访问次数最多的十个 SQL

mysqldumpslow -s c -t 10 /var/lib/mysql/localhost-slow.log

# 得到按照时间排序的前十条里面包含左连接的查询语句

mysqldumpslow -s t -t 10 -g "left join" /var/lib/mysql/localhost-slow.log

# 建议在使用这些命令时结合 | 和 more 使用 ,否则有可能爆屏

mysqldumpslow -s r -t 10 "left join" /var/lib/mysql/localhost-slow.log | more

show profile

show profile 是 mysql 提供可以用来分析当前会话中语句执行的资源消耗情况,可以用于 SQL 的调优测量。

默认情况下,参数处于关闭状态,并保存最近 15 次的运行结果。

分析步骤

是否支持

开启功能,默认关闭

show variables like 'profiling'; # 查看

set profiling=on; # 开启

ab4904793993891422220574cedb2ed4.png

运行 SQL

查看结果:

show profiles;

27f0d7a5a0cb8993081d04835ca23301.png

诊断 SQL

show profile cpu,block io for query 4;

f77194f5c9f50ec046d178a81c5d7f59.png

| 参数 | 含义 |

| - | - |

| ALL | 所有的开销信息 |

| BLOCK IO | 块 IO 相关开销 |

| CONTEXT SWITCHES | 上下文切换相关开销 |

| CPU | CPU相关开销 |

| IPC | 发送和接收相关开销 |

| MEMORY | 内存相关开销 |

| PAGE FAULTS | 页面错误相关开销 |

| SOURCE | 显示和Source_function, Source_file, Source_line 相关开销 |

| SWAPS | 交换次数相关开销 |

注意

converting HEAP to MyISAM 查询结果太大,内存不够用,往磁盘上搬了

Creating tmp table 创建临时表:拷贝数据到临时表,用完再删除

Copying to tmp on disk 把内存中临时表复制到磁盘,危险!!!

locked

全局查询日志

永远不要在生产环境开启此功能。

文件配置:

# 开启

general_log =1 1

# 记录日志文件路径

general_log_file=/path/logfile

#输出格式

log_output=FILE

参数配置(一次有效):

set global general_log = 1;

set global log_output='TABLE';

16cd4b6dfdf5ffd3ab9118c24f7b767f.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/298378.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【转】SMIL基础教程(1)

最近公司项目需要使用到smil相关知识,因而专门学习了一下。在网上找到了几篇基础教程,转载以方便查看。一、 简介随着流技术的成熟和广泛的应用,其优点我们有了深深的体会。但是,其不足之处也逐渐体现出来。问题的出现&#xff0c…

C#多线程开发-任务并行库

你好,我是阿辉。正文共2090字,预计阅读时间:6min。之前学习了线程池,知道了它有很多好处。使用线程池可以使我们在减少并行度花销时节省操作系统资源。可认为线程池是一个抽象层,其向程序员隐藏了使用线程的细节&#…

.cue 文件格式

cue文件格式(基础版) PERFORMER "陈小春" TITLE "抱一抱" FILE "陈小春.-.[抱一抱].专辑.(ape).ape" WAVE TRACK 01 AUDIO TITLE "抱一抱" INDEX 01 00:00:00 TRACK 02 AUDIO TITLE "我爱的人…

python切片原理_深度解析Python切片

详解Python 切片语法 Python的切片是特别常用的功能,主要用于对列表的元素取值。使用切片也会让你的代码显得特别Pythonic。 切片的主要声明如下,假设现在有一个list,命名为alist: alist [0,1,2,3,4] 切片语法的基本形式为&#…

为什么数学不好,和语文有关系?

▲ 点击查看苏步青教授在担任复旦大学校长时曾经说过:“如果允许复旦大学单独招生考试,我的意见是第一堂课就考语文,考后就批卷子。不合格的,以下的功课就不要考了。语文你都不行,别的是学不通的。”苏步青作为享誉世界的数学家&a…

Docker 博客

Docker 常用命令:首先推荐:http://blog.tankywoo.com/docker/2014/05/08/docker-4-summary.html Docker 网络桥接:http://blog.tankywoo.com/2014/12/22/docker-bridge-network.html docker 大牛的博客:http://blog.csdn.net/smal…

python string length_如何使用python获取字符串长度?哪些方法?

掌握多种python技巧,对于我们更好的灵活应用python是非常重要的,比如接下来给大家介绍的获取字节长度,那大家脑海里就该有印象了,有几种方法呢?一起来看下吧~1、使用len()函数这是最直接的方法。 在这里,我…

二进制、八进制、十进制、十六进制之间转换

一、 十进制与二进制之间的转换 (1) 十进制转换为二进制,分为整数部分和小数部分 ① 整数部分 方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上…

【招聘(北京成都)】北森 招聘.NET 架构师工程师

.net后端架构师 25k-38k14薪工作职责:1.根据业务框架要求,提供技术实现方案;2.负责技术架构选型、并主导功能模块设计、数据结构设计、对外接口设计;3.负责核心技术攻关、系统调优,使系统架构、代码结构不断演进优化;4…

android 网络开发

反复研究了 Android Market,总结一下,之前发在新浪微博上,但不够详细,主要是提高用户体验。 1.网络异常处理,重试机制。 上wifi常常网络断开,那就看运用程序是否健壮。可以用Android 提供的 frameworks/bas…

python turtle 绘图_谈一下Pycharm中关联系统Python解释器的方法

大家知道,PyCharm是一款著名的Python IDE开发工具,是拥有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,具备基本的调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制等等。该IDE分为社区免费版(…

python中线程和进程_python中线程和进程的简单了解

一、操作系统、应用程序1.硬件:硬盘、cpu、主板、显卡........2.装系统(本身也是一个软件):系统就是一个由程序员写出来的软件,该软件用于控制计算机得硬盘,让他们之间进行互相配合。3.安装软件:各种应用程序二、并发和…

一份干货满满的PPT,答辩加分手到擒来!

全世界只有3.14 % 的人关注了爆炸吧知识对很多童鞋来说,PPT可以说是使用频率很高的办公软件了。毕业答辩需要PPT,项目总结需要PPT,演讲也都需要PPT……可你是否因为PPT陷入这样的——脑壳疼状态!花费大量时间,结果PPT效…

《Java程序员全攻略:从小工到专家》连载八:加入什么样的公司

加入什么样的公司 “怎么样,蔡佳娃?听了这么多介绍,心里有点谱了吧?” “嗯,听师兄你这么一说,我想了想,还是优先要追求一下欧美的IT公司。追不到也没关系,至少知道自己不行了&#…

理解浮动元素——怎么使用它们、它们有什么问题以及怎么解决这些问题。

需要浮动的元素可使用CSS中float属性来定义元素的浮动位置,left:往左浮动,right:往右浮动浮动元素引起的问题:(1)父元素的高度无法被撑开,影响与父元素同级的元素(2&…

Blazor+Dapr+K8s微服务之基于WSL安装K8s集群并部署微服务

前面文章已经演示过,将我们的示例微服务程序DaprTest1部署到k8s上并运行。当时用的k8s是Docker for desktop 自带的k8s,只要在Docker for desktop中启用就可以了。但是我发现,启用了k8s后,Docker for desktop会消耗大量的系统资源…

WebService事务处理

如果在WEB服务中有这样一个场景,某个WEB服务的方法要执行两个任务,它首先要在数据库中创建一个新表,接着调用对象来收集和格式化数据,并在新表中插入数据。象这样的一组方法,我们必须保证他们都成功执行,否…

我的新书,《人人都是产品经理》自序

是谁?每次K歌 都对着点歌面板评头论足。 是谁?逛超市时总在想“这个商品能解决什么需 求?”。 是谁?会给自己的个人发展做战略规划。 是谁?一定要在自己的婚礼中讲一个PPT。 是谁?会拿用户调研的方法与亲朋…

记一次 .NET 某新能源汽车锂电池检测程序 UI挂死分析

一:背景 1. 讲故事这世间事说来也奇怪,近两个月有三位朋友找到我,让我帮忙分析下他的程序hangon现象,这三个dump分别涉及:医疗,新能源,POS系统。截图如下:那这篇为什么要拿其中的 新…

C#FTP下载文件出现远程服务器返回错误: (500) 语法错误,无法识别命令

如果下载多个文件的时候,有时候莫名其妙的出现500服务器错误,很有可能是没有设置KeepAlive 属性导致的。 出现应用程序未处理的异常:2015/1/6 11:40:56 异常类型:WebException 异常消息:远程服务器返回错误: (500) 语法…