慢查询的用途是用来发现执行时间长的查询语句,以便对这些语句进行优化

[mysqld]              #在这里面增加,其它地方无效
#server-id=1
#log-bin=master-bin
slow_query_log=1      #开启查询
slow_query_log_file=/bp/mysql.log
#慢查询日志文件存放位置,注意这个比较坑,要求目标目录可写,最好还是自己创建一个目录,并-R 添加写权限,这个是网上说的,不过我实验时发现赋777权限才可以
long_query_time=1                       #定义超过1秒就算是慢查询,一般是5到10秒吧

重启服务

MariaDB [(none)]> show variables like '%slow%';
+---------------------+--------------------------------------------------------------------------------------------------------------+
| Variable_name       | Value                                                                                                        |
+---------------------+--------------------------------------------------------------------------------------------------------------+
| log_slow_filter     | admin,filesort,filesort_on_disk,full_join,full_scan,query_cache,query_cache_miss,tmp_table,tmp_table_on_disk |
| log_slow_queries    | ON                #开启成功                                                                                           |
| log_slow_rate_limit | 1                                                                                                            |
| log_slow_verbosity  |                                                                                                              |
| slow_launch_time    | 2                                                                                                            |
| slow_query_log      | ON                                                                                                           |
| slow_query_log_file | /bp/mysql.log                                                                                                |
+---------------------+--------------------------------------------------------------------------------------------------------------+
7 rows in set (0.00 sec)MariaDB [(none)]>

那么怎么测试慢查询是否成功呢
比较简单的一种方法就是select sleep(5);这条语句会执行5秒钟
看一下慢查询日志文件

[root@localhost bp]# cat mysql.log
/usr/libexec/mysqld, Version: 5.5.52-MariaDB (MariaDB Server). started with:
Tcp port: 0  Unix socket: /var/lib/mysql/mysql.sock
Time                 Id Command    Argument
# Time: 170806 23:37:32
# User@Host: root[root] @ localhost []
# Thread_id: 2  Schema:   QC_hit: No
# Query_time: 2.001045  Lock_time: 0.000000  Rows_sent: 1  Rows_examined: 0
SET timestamp=1502087852;
select sleep(2);
# Time: 170806 23:37:38
# User@Host: root[root] @ localhost []
# Thread_id: 2  Schema:   QC_hit: No
# Query_time: 3.000681  Lock_time: 0.000000  Rows_sent: 1  Rows_examined: 0
SET timestamp=1502087858;
select sleep(3);
# Time: 170806 23:37:46
# User@Host: root[root] @ localhost []
# Thread_id: 2  Schema:   QC_hit: No
# Query_time: 5.000415  Lock_time: 0.000000  Rows_sent: 1  Rows_examined: 0
SET timestamp=1502087866;
select sleep(5);
[root@localhost bp]#

终端中执行以下命令
mysqldumpslow -t 10 查看访问时间最长的10个sql语句
mysqldumpslow -s c -t 10 查看访问次数最多的10个sql语句
也可以考虑安装第三方分析工具,例如pt-query-digest
具体自行百度吧(因为我运行之后报错了)

转载于:https://www.cnblogs.com/biaopei/p/7730491.html

msyql开启慢查询以及分析慢查询相关推荐

  1. mysql查询01课程比02课程_小菜菜mysql练习解读分析2——查询存在 01 课程但可能不存在 02 课程的情况(不存在时显示为 null )...

    "查询存在" 01 "课程但可能不存在" 02 "课程的情况(不存在时显示为 null )" --翻译为:课程表里面,存在01的信息,未必满 ...

  2. mysql慢查询开启语句分析_mysql慢查询语句分析总结

    我们经常会接触到MySQL,也经常会遇到一些MySQL的性能问题.我们可以借助慢查询日志和explain命令初步分析出SQL语句存在的性能问题 通过SHOW FULL PROCESSLIST查看问题 ...

  3. mysql查看、开启慢查询、分析执行SQL的效率

    一.启用慢SQL 开启慢SQL的配置参数 slow_query_log: 该参数表示是否开启慢SQL查询日志.在mysql中,我们可以通过以下命令来查看和修改该变量的状态 1.show variabl ...

  4. MySQL慢查询日志分析(二)

    1: 为什么在慢查询日志里面出现Query_time小于long_query_time阀值的SQL语句呢? 例如,long_query_time=5, 但是Query_time小于1秒的SQL都记录到 ...

  5. MySQL慢查询日志分析(一)

    慢查询日志概念 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志 ...

  6. MySQL 通用查询日志和慢查询日志分析

    MySQL中的日志包括:错误日志.二进制日志.通用查询日志.慢查询日志等等.这里主要介绍下比较常用的两个功能:通用查询日志和慢查询日志. 1)通用查询日志:记录建立的客户端连接和执行的语句. 2)慢查 ...

  7. mysql 性能日志_Mysql系列(十一)—— 性能分析慢查询日志

    慢查询日志概念 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志 ...

  8. MySQL数据库:通用查询日志和慢查询日志分析

    MySQL中的日志包括:通用查询日志.慢查询日志.错误日志.二进制日志等等.这里主要记录一下两种比较常用的日志:通用查询日志和慢查询日志. (1)通用查询日志:记录建立的客户端连接和执行的语句. (2 ...

  9. mysql 查询慢 分析_MySQL优化:定位慢查询的两种方法以及使用explain分析SQL

    一条SQL查询语句在经过MySQL查询优化器处理后会生成一个所谓的执行计划,这个执行计划展示了具体执行查询的方式,比如多表连接的顺序是什么,对于每个表采用什么访问方法来具体执行查询等等. 本章的内容就 ...

最新文章

  1. SQL语言包含4个部分
  2. 为什么BAT这些大企业都喜欢用LoRa技术?
  3. 3D环动画css3实现,CSS3 3D酷炫立方体变换动画的实现
  4. I/O设备的基本概念和分类
  5. Web3 是去中心化的“骗局”?
  6. android 分享qq微信朋友圈,H5微信JS-SDK实现分享朋友 朋友圈以及QQ自定义分享
  7. activiti 文档_Activiti快速入门 kft-activiti-demo
  8. guided Filter--引导滤波算法原理及实现
  9. Docker 基础 ( 二十 ) 部署Redis集群,问题记录
  10. 本科论文房地产公司财务风险评价与控制研究
  11. oppo怎么广告接入_oppo搜索广告投放操作指南
  12. 支付宝小程序会员卡开通
  13. java导出繁体字word_利用简繁体字转换功能实现简体字文档转换为繁体字文档的方法...
  14. 车辆出险理赔记录接口文档
  15. Steam推出多人联机本地游戏功能 即将推出
  16. Gazebo模型下载
  17. python tkinter progressbar_Tkinter 之ProgressBar进度条标签
  18. linux内核漏洞分类,blog/linux kernel double-free类型漏洞的利用.md at master · snorez/blog · GitHub...
  19. 基于单片机的水壶自动加热系统_基于单片机智能电水壶控制系统设计毕业设计(论文).doc...
  20. 淘宝商城推广以及促销项目

热门文章

  1. github上传的项目代码语言类型修改
  2. [转]EXCEL截取字符串中某几位的函数——LeftMIDRight及Find函数的使用
  3. 让IE8按照IE7的模式解释网页-【一句话】
  4. shell的if-else的基本用法
  5. iOS 7.1 的 Safari 为 meta 标签新增 minimal-ui 属性,在网页加载时隐藏地址栏与导航栏...
  6. [HDOJ1897]继续畅通工程
  7. 全局数据 GetGlobalDataSet
  8. awk 里面添加单引号
  9. WebPart的使用
  10. 在U盘上安装Linux系统解决方案