我们在工作中经常会遇到执行很慢的sql语句,今天我们来看一下慢查询日志

查看通用日志

show variables like ‘%general%’;

默认通用日志是关闭的,

开启通用日志查询: set global general_log=on;

关闭通用日志查询: set global general_log=off;

查看当前慢查询日志输出的格式,可以是FILE(存储在数数据库的数据文件中的hostname.log),也可以是TABLE(存储在数据库中的mysql.general_log)

show variables like ‘%log_output%’

设置通用日志输出为表方式: set global log_output=’TABLE’;

设置通用日志输出为文件方式: set global log_output=’FILE’;

如果想永久生效,需要在my.ini中配置

general_log=1 #为1表示开启通用日志查询,值为0表示关闭通用日志查询

log_output=FILE,TABLE#设置通用日志的输出格式为文件和表

mysql慢查询日志是mysql提供记录的一种日志记录,用来记录mysql中响应时间超过阈值的语句,具体指运行时间超过long_query_time的sql值的sql则会被记录到慢查询日志中,日志可以写在表中也可以写在文件中,如果性能要求比较高的话,建议写在文件里,默认情况下MySQL数据库是不开启慢查询日志的,long_query_time的默认值为10(即10秒,通常设置为1秒),即运行10秒以上的语句是慢查询语句。

问题:如何查看当前慢查询日志的开启情况?

show variables like ‘%quer%’;

主要关注的参数:

1.slow_query_log 慢查询日志是否开启,默认为off

开启慢查询日志set global slow_query_log=‘ON’,

想要永久有效需要在my.ini中配置 slow_query_log = ON

2.slow_query_log_file的值是记录的慢查询日志到文件中(注意:默认名为主机名.log,慢查询日志是否写入指定文件中,需要指定慢查询的输出日志格式为文件,相关命令为:show variables like ‘%log_output%’;去查看输出的格式)。

(3)long_query_time指定了慢查询的阈值,即如果执行语句的时间超过该阈值则为慢查询语句,默认值为10秒。

可以在my.ini中设置指定慢查询的阈值, long_query_time = 阈值

(4)log_queries_not_using_indexes如果值设置为ON,则会记录所有没有利用索引的查询(注意:如果只是将log_queries_not_using_indexes设置为ON,而将slow_query_log设置为OFF,此时该设置也不会生效,即该设置生效的前提是slow_query_log的值设置为ON),一般在性能调优的时候会暂时开启。

过命令:show variables like ‘%log_output%’;

通通过log_output的值可以查看到输出的格式,上面的值为TABLE。当然,我们也可以设置输出的格式为文本,或者同时记录文本和数据库表中,设置的命令如下:

#慢查询日志输出到表中(即mysql.slow_log)

set globallog_output=’TABLE’;

#慢查询日志仅输出到文本中(即:slow_query_log_file指定的文件)

set global log_output=’FILE’;

设置 slow_query_log_file输出位置

setslow_query_log_file = ‘路径.log’

#慢查询日志同时输出到文本和表中

set global log_output=’FILE,TABLE’;

表格式

文件格式

可以看到,不管是表还是文件,都具体记录了:是那条语句导致慢查询(sql_text),该慢查询语句的查询时间(query_time),锁表时间(Lock_time),以及扫描过的行数(rows_examined)等信息。

那我们如何查看慢查询的个数呢?

在MySQL中有一个变量专门记录当前慢查询语句的个数:

输入命令:show global status like ‘%slow%’;

先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

Mysql查看慢查询日志相关推荐

  1. mysql开启查看慢查询日志[转]

    为什么80%的码农都做不了架构师?>>>    1,配置开启 在mysql配置文件my.cnf中增加 log-slow-queries=/var/lib/mysql/slowquer ...

  2. mysql开启慢查询日志

    应用背景: MySQL慢查询日志功能默认是关闭的,通过开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,再通过分析定位问题瓶颈,优化查询提高数据库系统的性能. 测试环境: centos7. ...

  3. MySQL之慢查询日志分析

    在MySQL命令行中查看慢查询日志是否打开了: mysql> show variables like '%slow_query%'; +---------------------------+- ...

  4. mysql的慢查询日志功能_MySQL 慢查询日志

    MySQL 慢查询日志 简介 MySQL 慢查询日志是排查问题 SQL 语句,以及检查当前 MySQL 性能的一个重要功能. 查看是否开启慢查询功能: mysql> show variables ...

  5. Mysql之慢查询日志详解

    1.什么是慢查询日志? 慢查询日志是MySQL提供的一种日志记录,用来记录响应时间超过阀值的SQL语句. 如果某条SQL语句运行时间超过long_query_time设定的值,就会被记录到慢查询日志中 ...

  6. 如何开启MySQL的慢查询日志

    这里简单介绍两种方法开启MySQL的慢查询日志: 方法一:修改MySQL配置文件 Linux: # vim /etc/my.cnf log-slow-queries=/usr/local/mysql/ ...

  7. 学会读懂 MySql 的慢查询日志

    在前边的博客< 何时.如何开启 MySql 日志?>中,我们了解到了如何启用 MySql 的慢查询日志.今天我们来看一下如何去读懂这些慢查询日志. 在跟踪慢查询日志之前,首先你得保证最少发 ...

  8. Anemometer MySQL 【慢查询日志监控平台】(实战)

    Anemometer 是一款开源的(慢查询)日志监控平台,当前主要用于 MySQL 的慢查询日志跟踪. Anemometer 演示地址:http://lab.fordba.com/anemometer ...

  9. MySQL:慢查询日志

    前言 MySQL慢查询日志,总结 截图为慢SQL日志 MySQL的慢查询日志是MySQL提供一种日志记录,它用来记录MySQL中响应时间超过阈值的语句具体指运行时间超过long_query_time值 ...

最新文章

  1. javascript 常用功能總結
  2. vue:虚拟dom的实现
  3. chapter4 module and port
  4. 说说pgpool-II的 health check
  5. 获取某一周_“双十一”前,这群人备好了3600瓶假冒某品牌护肤品,结果……...
  6. ubuntu添加dvd光盘源
  7. 缓存行cache line概述
  8. Emacs之LaTeX环境配置及效果展示
  9. 2018.01.25-现货黄金复盘
  10. linux中,一个目录的权限是777,普通用户为什么删除不了它呢?
  11. 如何将python爬出来的数据保存_Python爬虫入门6 将爬回来的数据存到本地
  12. 【疑难杂症】Excel数值自定义显示万,并保留两位小数
  13. 小程序学习:使用有赞UI组件
  14. [copypaste]各种表示法
  15. 多节点部署执行定时任务选举单一节点解决方案---redis
  16. 完美解决Chrome主页老是被毒霸网址大全篡改
  17. 【渝粤教育】国家开放大学2018年春季 8624-21T物业管理案例分析 参考试题
  18. cairo学习简单总结
  19. 创维笔试java_创维集团面试经验
  20. python文件重命名

热门文章

  1. 2006年世界顶级杀毒软件排名-感概
  2. 你的伙伴对你最大会话_有人说 在微信聊天里 你怎么结束一段对话 就能看出你和对方的...
  3. 帮我写一个2000字的硕士论文致谢
  4. 计算机病毒如何危害计算机,计算机病毒的危害
  5. 如何设计优秀的应用图标?
  6. 昨天深夜,Java 向我讲述了它的陈年往事,没想到是这样的!
  7. JS实现计算器(一)
  8. 闯关无边界时代,荣耀与华为全场景OS相见
  9. 初识python语言微课_Python语言程序设计(微课版)
  10. 【嵌入式AI】深度学习模型移植的移动端框架