MySQL慢查询日志怎么设置

一、概述

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

二、慢查询日志设置

1、临时设置

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

set global slow_query_log = on;

MySQL慢查询日志怎么设置

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

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

set long_query_time = 1;

MySQL慢查询日志怎么设置

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

set global  log_output = file;

MySQL慢查询日志怎么设置

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

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

show variables like '%quer%';

MySQL慢查询日志怎么设置

参数说明:

  • slow_query_log : 是否已经开启慢查询

  • slow_query_log_file : 慢查询日志文件路径

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

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

3、查看存放日志的形式

show variables like 'log_output';

MySQL慢查询日志怎么设置

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语句被记录到日志中。

MySQL慢查询日志怎么设置

四、慢查询分析工具

mysqldumpslow

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

常用参数如下:

  • -s:排序方式,值如下

  • c:查询次数

  • t:查询时间

  • l:锁定时间

  • r:返回记录

  • ac:平均查询次数

  • al:平均锁定时间

  • ar:平均返回记录书

  • at:平均查询时间

  • -t:较好N查询

  • -g:正则表达式

获取访问次数非常多的5个SQL语句:

MySQL慢查询日志怎么设置

按照时间排的较好 5个SQL语句

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

按照时间排序且含有’like’的较好 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慢查询日志怎么设置”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“MySQL慢查询日志怎么设置”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

文章标题:MySQL慢查询日志怎么设置,发布者:亿速云,转载请注明出处:https://worktile.com/kb/p/24923

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
亿速云的头像亿速云认证作者
上一篇 2022年9月15日 上午1:33
下一篇 2022年9月15日 上午1:35

相关推荐

  • word字体放大如何居中

    word字体放大居中的方法 1、首先打开word,选中你要放大居中的文字, 点击开始菜单栏的字号,这里选择的最大字号是72号。 2、这时可以直接在字号框里输入数字,数字越大字越大。 3、选择菜单栏“布局”–“纸张方向”–“横向”,来调整页面方向。 4、在菜单栏点击“布局”–…

    2022年9月15日
    1.4K00
  • word如何替换文字

    word替换文字的方法: 1、首先打开你的word文档,然后准备开始将里面的词汇进行替换。 2、然后点击“编辑”菜单,选择“查找”选项。 3、此时会出现“查找和替换”对话框,选择“查找”选项卡, 在“查找内容”的输入框中输入你要替换的词,这里举例“华为”。 4、然后勾选“突出显示所有在该范围找到的项…

    2022年9月20日
    1.2K00
  • windows浩辰cad看图王卸载不了怎么解决

    解决方法: 方法一: 1、首先我们要退出软件,然后右键任务栏空白处,打开“任务管理器” 2、在后台进程中找到所有cad相关进程。 3、选中这些进程,点击右下角的“结束任务” 4、结束完成后,我们打开系统设置中的“应用” 5、最后在其中找到浩辰cad看图王,将它卸载就可以了。 方法二: 1、另外我们也…

    2022年9月21日
    1.1K00
  • Java Bean作用域是什么及怎么实现

    PS:Java 中的公共类可称之为 Bean 或 Java Bean。 1.作用域 Bean 的作用域是指 Bean 在 Spring 整个框架中的某种行为模式。比如 singleton 单例作用域,就表示 Bean 在整个 Spring 中只有一份,它是全局共享的,当有人修改了这个值之后,那么另一…

    2022年8月31日
    1.2K00
  • 关于远程办公,微软MVP 15年研发团队的经验分享

    为了能够应对来势汹汹的疫情,众多互联网企业纷纷开启了远程办公模式。不知道各团队前两天的远程办公效果如何,我们 Worktile 管理层在大年初四就开始讨论远程办公的事情,并且将可能出现的问题都尽量提前想到并做了准备。从这两天实际执行的情况看,我所在的研发团队执行的还不错,基本没有受到什么明显的影响。…

    2022年3月20日
    44200
  • windows KB4520010更新了哪些内容

    KB4520010主要更新方面: – 更新以提高使用 Internet Explorer 和 Microsoft Edge 时的安全性。 – 用于验证用户名和密码的更新。 – 用于存储和管理文件的更新。 KB4520010改进修补程序: 解决了安全公告 CVE-2…

    2022年9月1日
    35900
  • SQL语句知识点有哪些

    一、SQL简介 SQL (Structured Query Language:结构化查询语言) 是用于管理关系数据库管理系统(RDBMS)。 SQL 的范围包括数据插入、查询、更新和删除,数据库模式创建和修改,以及数据访问控制。 1.什么是数据库 数据库 (DB database) 概念:数据仓库 …

    2022年9月22日
    84900
  • CDR最新版本透视效果怎么制作

    CDR最新版本透视效果在哪里: 答:在“对象”工具栏下。 点击上方对象,在下拉菜单中就可以找到“透视”了。 CDR最新版本透视制作教程: 1、首先我们使用文本工具添加需要编辑的内容。 2、添加完成后,点击左上角的“对象” 3、然后找到“透视点”,点击其中的“添加透视” 4、添加完成后,就能够获得透视…

    2022年9月24日
    73000
  • MySQL触发器怎么创建和使用

    在实际开发中,我们经常会遇到这样的情况:有 2 个或者多个相互关联的表,如 商品信息 和 库存信息 分 别存放在 2 个不同的数据表中,我们在添加一条新商品记录的时候,为了保证数据的完整性,必须同时 在库存表中添加一条库存记录。 这样一来,我们就必须把这两个关联的操作步骤写到程序里面,而且要用 事务…

    2022年9月1日
    88300
  • 怎么用Vue+java实现时间段的搜索

    实现效果如图: 标红的是需要注意的地方!Vue操作:1,如图: 2,如图:(数据初始化) 2.0初始化今天的日期和时间的样式: 2.1今天的日期: // 时间范围–start// daterangeLastInTime: [],// daterangeLastInTime: [n…

    2022年9月19日
    70400
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部