MYSQL慢查询日志开启和日志分析工具

mysql慢查询的开启

找到mysql的配置文件,如果没有一下3个配置则添加,有则修改
slow_query_log = 1;(或者on都可以)开启慢查询日志
slow_query_log_file = /usr/local/mysql/data/slow_query.log 日志保存的路径;
long_query_time = 3;慢查询的时间,单位秒,条件是大于
log_output = FILE 默认FILE,是记录到文件中,TABLE是存入mysql.slow_log表中。2者可同时存在,以逗号分隔,存入到表中,更耗资源

mysql慢查询分析工具

MySQL提供了日志分析工具 mysqldumpslow,在mysql安装路径下的/bin文件

参数详解:
-t, 是top n的意思,即为返回前面多少条的数据;
-g, 后边可以写一个正则匹配模式,大小写不敏感的;
-s, 是表示按照何种方式排序:

  • c: 访问计数
  • l: 锁定时间
  • r: 返回记录
  • t: 查询时间
  • al:平均锁定时间
  • ar:平均返回记录数
  • at:平均查询时间

比如:

  1. 得到返回记录集最多的10个SQL。
    mysqldumpslow -s r -t 10 /www/server/data/mysql-slow.log
  2. 得到访问次数最多的10个SQL
    mysqldumpslow -s c -t 10 /www/server/data/mysql-slow.log
  3. 得到按照时间排序的前10条里面含有左连接的查询语句。
    mysqldumpslow -s t -t 10 -g “left join” /www/server/data/mysql-slow.log
    另外建议在使用这些命令时结合 | 和more 使用 ,否则有可能出现刷屏的情况。
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页