高性能的Mysql读书笔记系列之二(Mysql慢查询日志总结)

前言:

MySQL的慢查询日志是Mysql提供的一种日志记录,它用来记录在MySQL中响应时间超过阈值的语句,具体指运行时间超过long_query_time值得SQL,则会被记录到慢查询日志中。这篇博客我们讲解如何开启Mysql的慢查询日志以及相关参数的意义。

正文:

一、Mysql中有主要以下几种日志文件:

1.错误日志:(error log):记录mysql服务的启停时正确和错误的信息,还记录启动、停止、运动过程中的错误信息。
2.查询日志:(general log):记录建立的客户端连接和执行语句。
3.二进制日志:(bin log):记录所有更改数据的语句,可用于数据复制。
4.慢查询日志(slow log):记录所有执行时间超过long_query_time的所有查询或不使用索引的查询。
5.中继日志(relay log):主从复制时

二、慢查询日志是否开启

1.登录到mysql数据库,输入以下查询指令,查看是否开启慢查询

SHOW VARIABLES LIKE '%slow_query_log%'

高性能的Mysql读书笔记系列之二(Mysql慢查询日志总结)_第1张图片

2.参数说明

 slow_query_log 慢查询开启状态  OFF 未开启 ON 为开启

slow_query_log_file 慢查询日志存放的位置(这个目录需要MySQL的运行帐号的可写权限,一般设置为MySQL的数据存放目录)

三、查看慢查询的超时时间设置,指令如下:

show variables like 'long%'

高性能的Mysql读书笔记系列之二(Mysql慢查询日志总结)_第2张图片

long_query_time 查询超过多少秒才记录, 默认10秒 修改为1秒 。

四、 如何开启慢查询日志

1.暂时开启,mysql重启后失效

set global slow_query_log=1;

2.永久开启,通过修改配置文件修改(我这里是mysql8.0版本,配置文件是my.ini),我的配置文件在这个目录下

高性能的Mysql读书笔记系列之二(Mysql慢查询日志总结)_第3张图片

打开配置文件,找到 # General and Slow logging下面进行修改

slow-query-log=1

slow_query_log_file="LAPTOP-6T45OIJ9-slow.log"

long_query_time=1

参数说明:

slow_query_log 慢查询开启状态  1 为开启

slow_query_log_file 慢查询日志存放的位置

long_query_time 查询超过多少秒才记录   默认10秒 修改为1秒

修改完重启MySQL

五、慢查询日志里各个参数的含义

  • Query_time: duration

    语句执行时间(以秒为单位)

  • Lock_time: duration

    在几秒钟内获得锁定的时间

  • Rows_sent: N

    发送到客户端的行数。

  • Rows_examined: 

    优化程序检查的行数

总结:

今日分享的一句话:

有的人忙着生活抽空爱你,有的人忙着爱你抽空生活,不要让自己的喜欢卑微到泥土里,一定要常常抽空爱自己!

我是阿达,一名喜欢分享知识的程序员,时不时的也会荒腔走板的聊一聊电影、电视剧、音乐、漫画,这里已经有10825位小伙伴在等你们啦,感兴趣的就赶紧来点击关注我把,哪里有不明白或有不同观点的地方欢迎留言!

你可能感兴趣的:(开发问题,mysql)