• MySQL笔记-慢日志


    默认关闭,除非需要查看慢sql日志,平时不要打开

    以下设置都是临时有效,重启数据库后会失效,想要永久生效需要修改配置文件进行配置

    查看慢查询日志状态及存储路径:

    SHOW VARIABLES LIKE 'slow_query_log%'

    slow_query_log ON
    slow_query_log_file /var/lib/mysql/88eec0ff40aa-slow.log

    打开慢查询日志:

    SET GLOBAL slow_query_log=1

    查看慢查询超时时间:

    SHOW VARIABLES LIKE 'long_query_time%'

    设置慢查询日志超时时间:

    SET GLOBAL long_query_time=3    # 设置为3秒,需要重新连接或打开一个新的会话,才能查看新设置的超时时间

    模拟一个慢查询sql,方便测试:

    SELECT sleep(4);

    查看有几条慢sql:

    SHOW GLOBAL STATUS LIKE '%slow_queries%'

    慢sql日志分析工具mysqldumpslow:

    mysqldumpslow -t 10 /var/lib/mysql/VM_0_5_centos-slow.log        --查前十行

    可以查询如下信息:

    • s:表示何种方式排序
    • c:访问次数
    • l:锁定时间
    • r:返回记录数
    • t:查询时间
    • al:平均锁定时间
    • ar:平均返回记录数
    • at:平均查询时间
    • t:返回前面多少条数据
    • g:后面搭配一个正则匹配模式,大小写不敏感

    案例:

    返回记录集最多的10个sql:

    访问次数最多的10个sql:

    按时间排序的前10个里面包含左连接的sql:

    慢日志查询分析工具:pt-query-digest
    安装:wget https://www.percona.com/downloads/percona-toolkit/2.2.16/RPM/percona-toolkit-2.2.16-1.noarch.rpm && yum localinstall -y percona-toolkit-2.2.16-1.noarch.rpm
    命令:
    查看服务器信息
    pt-summary

    查看磁盘开销使用信息
    pt-diskstats

    查看mysql数据库信息
    pt-mysql-summary --user=root -password=123456

    分析慢查询日志
    pt-query-digest /data/mysql/data/db-3-12-slow.log

    查询mysql从库和同步状态
    pt-slave-find --host=localhost --user=root --password=123456

    查看mysql死锁信息
    pt-deadlock-logger --user=root --password=123456 localhost

    从慢查询日志中分析索引使用情况
    pt-index-usage slow_20131009.log

    查找数据库表中重复的索引
    pt-duplicate-key-checker --host=localhost --user=root --password=123456

    查看mysql表和文件的当前IO开销:
    pt-ioprofile

    查找数据库里大于2G的表:
    pt-find --user=root --password=123456 --tablesize +2G

    查看表和索引大小并排序:
    pt-find --user=root --password=123456 --printf "%T %D.%N " | sort -rn

    显示查询时间大于60秒的查询:
    pt-kill --user=root --password=123456 --busy-time 60 --print

    kill掉大于60秒的查询
    pt-kill --user=root --password=123456 --busy-time 60 --kill

  • 相关阅读:
    [React Hooks长文总结系列三]为所欲为,制作“穷人版”的redux
    [React Hooks长文总结系列二]渐入佳境,性能调优与自定义钩子
    [React Hooks长文总结系列一]初出茅庐,状态与副作用
    EsModule VS CommonJS
    [清代八股文]Promise如何实现串行执行
    React Fiber基本工作原理
    深入剖析setState同步异步机制
    破译《碟中谍》经典画面,解密指纹验证+刷脸!
    如何测试重签名的应用功能是否正常
    图像处理之滤镜、图文排版的开发详解,从入门到起飞
  • 原文地址:https://www.cnblogs.com/fanfan-90/p/13194077.html
Copyright © 2020-2023  润新知