zoukankan      html  css  js  c++  java
  • mysql监控优化(三)慢查询

            顾名思义,慢查询日志中记录的是执行时间较长的query,也就是我们常说的slowquery,通过设--log-slow-queries[=file_name]来打开该功能并设置记录位置和文件名。慢查询日志采用的是简单的文本格式,可以通过各种文本编辑器查看其中的内容。其中记录了语句执行的时刻,执行所消耗的时间,执行用户,连接主机等相关信息。MySQL 还提供了专门用来分析满查询日志的工具程序mysqlslowdump,用来帮助数据库管理人员解决可能存在的性能问题。

    1、配置慢查询

    Linux:
    在mysql配置文件my.cnf中增加:log-slow-queries=/opt/data/slowquery.log (指定日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.log)

                                                        long_query_time=2 (记录超过的时间,默认为10s)

                                                        log-queries-not-using-indexes (log下来没有使用索引的query,可以根据情况决定是否开启)
    Windows:
    在my.ini的[mysqld]添加如下语句:log-slow-queries = E:webmysqllogmysqlslowquery.log   

                                                          long_query_time = 2(其他参数如上)

    慢查询的配置也可以通过执行命令来设置,这样就不用重启mysql服务了。

    set global slow_query_log=on;
    set global long_query_time=1;#设置记录查询超过多长时间的sql
    set global slow_query_log_file=‘/opt/data/slow_query.log’;#设置mysql慢查询日志路径,此路径需要有写权限
    这种方式不用重启mysql服务。

    2、查询mysql慢查询状态

          SHOW VARIABLES LIKE '%query%';
          使用这个语句可以看到当前mysql慢查询是否开启,以及mysql的慢查询日志文件在哪。
          slow_query_log #是否开启慢查询
         slow_query_log_file #日志的存放位置
         long_query_time #超过多少秒的查询就写入日志

        

    3、解析mysql慢查询日志

         使用mysqldumpslow命令可以解析mysql慢查询日志。
         Mysqldumpslow命令参数如下:
         -s,是表示按照何种方式排序,c、t、l、r分别是按照记录次数、时间、查询时间、返回的记录数来排序,ac、at、al、ar,表示相应的倒叙;
         -t,是top n的意思,即为返回前面多少条的数据;
         -g,后边可以写一个正则匹配模式,大小写不敏感的;

     

        比如说要按照sql执行时间最长的前20条sql
        mysqldumpslow -s t -t 20 -g 'select'/opt/data/slowquery_2016050921.log
        得到按照时间排序的前10条里面含有左连接的查询语句。
        mysqldumpslow -s t -t 10 -g 'left join'/opt/data/slowquery_2016050921.log

       

     

  • 相关阅读:
    vue路由动态过渡效果
    完美解决safari、微信浏览器下拉回弹效果
    从零开始搭建VUE项目
    上传图片(photoClip)
    手机移动端input date placehoder不显示
    evaluate-reverse-polish-notation
    Minimum Depth of Binary Tree
    前端学习02-01分帧的作用
    前端学习02-01表格标签
    前端学习01-07图像地图
  • 原文地址:https://www.cnblogs.com/mululu/p/9057018.html
Copyright © 2011-2022 走看看