前言:
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%'
2.参数说明
slow_query_log 慢查询开启状态 OFF 未开启 ON 为开启
slow_query_log_file 慢查询日志存放的位置(这个目录需要MySQL的运行帐号的可写权限,一般设置为MySQL的数据存放目录)
三、查看慢查询的超时时间设置,指令如下:
show variables like 'long%'
long_query_time 查询超过多少秒才记录, 默认10秒 修改为1秒 。
四、 如何开启慢查询日志
1.暂时开启,mysql重启后失效
set global slow_query_log=1;
2.永久开启,通过修改配置文件修改(我这里是mysql8.0版本,配置文件是my.ini),我的配置文件在这个目录下
打开配置文件,找到 # 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位小伙伴在等你们啦,感兴趣的就赶紧来点击关注我把,哪里有不明白或有不同观点的地方欢迎留言!