mysql慢日志

时间:2023-03-08 22:50:24
mysql慢日志

mysql慢日志是用来记录执行时间比较长的sql工具(超过long_query_time的sql),这样对于跟踪有问题的sql很有帮助。

查看是否启用慢日志和相关信息

mysql慢日志

上面截图其中:

log_slow_queries,slow_query_log,slow_query_log_file,long_query_time和慢日志查询有关。其中slow_launch_time和慢日志查询没有关系,它代表的是thread create的一个阈值,具体作用目前不是很清楚。

打开慢日志查询的方法:

  1. 修改配置文件然后重启mysql:

    在mysqld后面添加

    long_query_time = 1    #是指执行超过多久的sql会被记录,以秒为单位
    log-slow-queries = D:\temp\mysqlslowquery.log    #设置把日志写在那个文件
    log_queries_not_using_indexes       # 记录没有使用索引的查询

    修改之后重启可以查看:

    mysql慢日志

  2. 在global级别动态修改

    mysql> set global log_slow_queries=ON;

    mysql慢日志使用最多的地方就是定位sql的性能问题

 mysql慢日志查询分析工具:mysqldumpslow

命令行选项:

  • -s:是表示按照何种方式排序。c、t、l、r分别是按照记录次数、时间、查询时间、返回的记录数来排序,前面加a(ac、at、al、ar)表示相应的倒叙
  • -t: 后面跟一个数字,表示返回前面多少条的数据
  • -g:后边跟一个正则匹配模式(注意:大小写是不敏感的)