mysql慢查询sql统计_mysql服务启动慢

mysql慢查询sql统计_mysql服务启动慢一、概述MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值(long_query_time,单位:秒)的SQL语句。默认情况下,MySQL不启动慢查询日志。本文简单介绍如何开启慢查询日志,如何用mysqldumpslow分析慢查询。二、慢查询日志设置1、临时设置临时开启慢查询日志(重启失效)setglobalslow_query_log=on;注…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

一、概述

MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值(long_query_time,单位:秒)的SQL语句。默认情况下,MySQL不启动慢查询日志。本文简单介绍如何开启慢查询日志,如何用mysqldumpslow分析慢查询。

二、慢查询日志设置

1、临时设置

临时开启慢查询日志(重启失效)

set global slow_query_log = on;

df68537b8a51010667ce1ef807871e57.png

注:如果想关闭慢查询日志,只需要执行 set global slow_query_log = off; 即可。

临时慢查询时间临界点  查询时间高于这个临界点的都会被记录到慢查询日志中(重启失效)

set long_query_time = 1;

71d87fc240d8b3213bbe8428aac8e38b.png

设置慢查询存储的方式(重启失效)

set global  log_output = file;

ba91d87972851e23641417894dafb8d3.png

说明: 可以看到,我这里设置为了file,就是说我的慢查询日志是通过file体现的,默认是none,我们可以设置为table或者file,如果是table则慢查询信息会保存到mysql库下的slow_log表中。

2、查询慢查询日志的开启状态和慢查询日志储存的位置

show variables like ‘%quer%’;

1370f563b6d5bc4783aeacc56271aa78.png

参数说明:

slow_query_log : 是否已经开启慢查询

slow_query_log_file : 慢查询日志文件路径

long_query_time :  超过多少秒的查询就写入日志

log_queries_not_using_indexes 如果值设置为ON,则会记录所有没有利用索引的查询(性能优化时开启此项,平时不要开启)

3、查看存放日志的形式

show variables like ‘log_output’;

9b6056bbbe82d2a271a032dfd26eedc6.png

4、永久开启慢日志

修改my.cnf

在配置文件my.cnf(一般为/etc/my.cnf)中的[mysqld] section增加如下参数。

[mysqld]slow_query_log= 1slow_query_log_file= /var/lib/mysql/slow-query.log # 若没有指定,默认名字为hostname_slow.loglong_query_time= 1log_queries_not_using_indexes= 1

其中,

slow_query_log = 1

表示开启慢查询,0表示关闭

slow_query_log_file

指定慢查询日志路径

需要MySQL对该路径有写权限

long_query_time = 1

表示查询时间>=1秒才记录日志

默认10s

log_queries_not_using_indexes = 1

表明记录没有使用索引的 SQL 语句

重启MySQL服务

重启MySQL后会看到/var/lib/mysql/slow-query.log文件。

三、慢查询测试

制造慢查询并执行。如下。

mysql> select sleep(1);+———-+

| sleep(1) |

+———-+

| 0 |

+———-+

1 row in set (1.00 sec)

慢查询日志

打开慢查询日志文件。可以看到上述慢查询的SQL语句被记录到日志中。

61688de8a7e03735cacd047c58fe16f4.png

四、慢查询分析工具

mysqldumpslow

mysqldumpslow是MySQL自带的分析慢查询的工具。该工具是Perl脚本。

常用参数如下

-s:排序方式,值如下

c:查询次数

t:查询时间

l:锁定时间

r:返回记录

ac:平均查询次数

al:平均锁定时间

ar:平均返回记录书

at:平均查询时间-t:topN查询-g:正则表达式

获取访问次数最多的5个SQL语句

0e1e48e7beb2d5d9a45dbfb0f8aa2344.png

按照时间排的top 5个SQL语句

$ mysqldumpslow -s t -t 5 /var/lib/mysql/slow-query.log

按照时间排序且含有’like’的top 5个SQL语句

$ mysqldumpslow -s t -t 3 -g “like” /var/lib/mysql/slow-query.log

五、MySQL 清理slowlog方法

SET GLOBAL slow_query_log = ‘OFF’;ALTER TABLEmysql.slow_log RENAME mysql.slow_log_drop;CREATE TABLE mysql.slow_log LIKEmysql.slow_log_drop;SET GLOBAL slow_query_log = ‘ON’;DROP TABLE mysql.slow_log_drop;

六、小结

默认情况下,MySQL不启动慢查询日志。若要检查慢查询,需要我们手动设置这个参数。一般情况下,若非调优需要,不建议启动该参数,因为开启慢查询日志或多或少会带来一定的性能影响。慢查询日志支持将日志记录写入文件,也支持将日志记录写入数据库表。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/181996.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 2018年最新Java面试题及答案整理

    2018年最新Java面试题及答案整理下列面试题都是在网上收集的,本人抱着学习的态度找了下参考答案,有不足的地方还请指正,更多精彩内容可以关注我的微信公众号:Java团长基础篇基本功面向对象特征封装,继承,多态和抽象 封装 封装给对象提供了隐藏内部特性和行为的能力。对象提供一些能被其他对象访问的方法来改 变它内部的数据。在Java当中,有3种修饰符:public,private和prote…

    2022年6月18日
    54
  • pycharm 中切换虚拟环境的总结

    pycharm 中切换虚拟环境的总结一、理清思路太重要了1、首先了解对应虚拟环境的运行机制你才能找到正确的解决方案2、分享我个人遇到的问题及解决方案首先安装好了django框架后,在cmd里面能正常运行,但是在Pycharm里面总是不能运行成功,老是报没有激活的问题。首先我们来看在cmd中成功运行的界面:在cmd里面我们切换至对应工程的路径输入命令:pythonmanage.pyrunserver127.0.0.1:8888,我们可以看到Startingdevelopmentserverathttp://127.0

    2022年8月28日
    1
  • 一篇文章,Vue快速入门!!!

    一篇文章,Vue快速入门!!!①Vue概述及第一个Vue程序(HelloWorld)1.1什么是MVVMMVVM(Model-View-ViewModel)是一种软件设计模式,由微软WPF(用于替代WinForm,以前就是用这个技术开发桌面应用程序的)和Silverlight(类似于JavaApplet,简单点说就是在浏览器上运行WPF)的架构师KenCooper和TedPeters开发,是一种简化用户界面的事件驱动编程方式。由JohnGossman(同样也是WPF和Sliverlight的架构师)与2005年在他的

    2022年5月4日
    50
  • 温故知新-SpringCloud架构图(总结)[通俗易懂]

    温故知新-SpringCloud架构图(总结)[通俗易懂]最近学习了SpringCloud相关的知识点,使用下图来做一个知识总结,如果有相关的疑问,欢迎各位同学指出????:

    2022年5月20日
    28
  • 因果图方法_因果图法符号

    因果图方法_因果图法符号因果图方法  一.方法简介  1.定义:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。  2.因果图法产生的背景:  等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。

    2022年8月14日
    2
  • mysql 驱动jar包下载_mysql驱动jar包

    mysql 驱动jar包下载_mysql驱动jar包mysql驱动就是赋值外界与数据的连接接口。请注意JDBC连接MySql,其驱动程序与MySQL的版本有关!!要使用相匹配的驱动程序,并将驱动程序加到CLASSPATH中。在系FTP服务器上,/数据库/MySql目录下的驱动程序如下:MySql5.0 驱动程序包为mysql-connector-java-5.0.4.zip(内有.jar文件即驱动程序)MySql4.0 驱动程序为mysqldriv…

    2022年5月22日
    91

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号