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条结果。
  • 相关阅读:
    my15_ mysql binlog格式从mixed修改为row格式
    my14_mysql指定时间恢复之模拟从库
    my13_mysql xtrabackup备份的时间点
    必知必会的图论算法
    leetcde37. Sudoku Solver
    leetcode36. Valid Sudoku
    leetcode52. N-Queens II
    leetcode51. N-Queens
    First Missing Positive
    Maximum Gap
  • 原文地址:https://www.cnblogs.com/zengda/p/4558542.html
Copyright © 2011-2022 走看看