zoukankan      html  css  js  c++  java
  • Mysql 慢查询和慢查询日志分析

     

    众所周知,大访问量的情况下,可添加节点或改变架构可有效的缓解数据库压力,不过一切的原点,都是从单台mysql开始的。下面总结一些使用过或者研究过的经验,从配置以及调节索引的方面入手,对mysql进行一些优化。
    第一步应该做的就是排查问题,找出瓶颈,所以,先从日志入手
    开启慢查询日志

    mysql>show variables like%slow%”; 查看慢查询配置,没有则在my.cnf中添加,如下
    
    log-slow-queries = /data/mysqldata/slowquery.log    #日志目录
    long_query_time = 1                          #记录下查询时间查过1秒
    log-queries-not-using-indexes     #表示记录下没有使用索引的查询

    分析日志 – mysqldumpslow
    分析日志,可用mysql提供的mysqldumpslow,使用很简单,参数可–help查看

    # -s:排序方式。c , t , l , r 表示记录次数、时间、查询时间的多少、返回的记录数排序;
    #                             ac , at , al , ar 表示相应的倒叙;
    # -t:返回前面多少条的数据;
    # -g:包含什么,大小写不敏感的;
    mysqldumpslow -s r -t 10  /slowquery.log     #slow记录最多的10个语句
    mysqldumpslow -s t -t 10 -g "left join"  /slowquery.log     #按照时间排序前10中含有"left join"的

    推荐用分析日志工具 – mysqlsla

    wget http://hackmysql.com/scripts/mysqlsla-2.03.tar.gz
    tar zvxf mysqlsla-2.03.tar.gz
    cd mysqlsla-2.03
    perl Makefile.PL
    make
    make install
    mysqlsla /data/mysqldata/slow.log
    # mysqlsla会自动判断日志类型,为了方便可以建立一个配置文件“~/.mysqlsla”
    # 在文件里写上:top=100,这样会打印出前100条结果。
  • 相关阅读:
    svn提交时强制添加注释 (转)
    通过IIS调试ASP.NET项目
    当前标识(IIS APPPOOLDefaultWebSite)没有对“C:WindowsMicrosoft.NETFramework64v2.0.50727Temporary ASP.NET Files“的写访问权限
    (转)WPF控件开源资源
    redhat7系统安装kerberos报错
    centos7
    spark-sql与Hive元数据共享
    hive-llap配置
    spark-二次排序
    kylin3.1基于ambari2.7.5部署总结
  • 原文地址:https://www.cnblogs.com/zengda/p/4558542.html
Copyright © 2011-2022 走看看