MySQL慢查询日志mysqldumpslow

默认关闭

记录执行时间超过阈值的sql语句

开启之后对性能有影响,建议只在调优时开启

查询各个参数的当前值:

show variable like '%   %';

1.开启慢查询日志

  slow_query_log (0 关闭,1 开启)默认关闭

2.执行时间超过(是>不是>=)几秒的语句将被记录

  long_query_time 默认10秒,单位秒

3.慢查询日志的输出方式(记录在文件中,还是保存在数据库中)

  log_output (file 文件 table 数据库)默认文件

4.慢查询日志输出为file,file的路径

  slow-query-log-file(5.6之后)

  log-slow-queries(5.6之前

  不设置,系统默认生成host_name-slow.log

5.慢查询日志输出为database,保存在那个数据表中

  mysql.slow_log(这是一个系统自带的表)

6.是否将没有使用索引的sql也记录下来

  log_queries_not_using_indexes(默认关闭,0-关闭,1-开启)

修改参数

set global slow_query_log=1;

重启生效

想要永久生效,修改配置文件

windows:安装目录下my.ini

linux:/etc/my.cnf,/etc/mysql/my.cnf

慢查询日志分析工具

mysqldumpslow 【选项】 【参数】

-s(sort)排序方式

  c(count)查询的次数

  t(time)查询所用的时间

  l(lock)锁定的时间

  r(row)返回记录的条数

  at平均查询时间

  al平均锁定时间

  ar平均返回记录条数

-t(top)返回前多少

-g匹配一个正则表达式,大小写不敏感

例如:

musqldumpslow -s c -t 10 /./*_slow.log

返回访问次数前十的sql语句



原文地址:https://www.cnblogs.com/duanjiapingjy/p/9412608.html