自学内容网 自学内容网

mysql之慢查询设置及日志分析


慢查询是指mysql提供的日志记录功能,用来记录执行时间超过设置阈值的sql语句,并将信息写入到日志文件中;

1.临时开启慢查询日志

注意:
1.以下命令需要连接进入到命令行进行执行;
2.临时开启慢查询日志,设置后无需重启服务立即生效,当服务重启后设置就会失效;

1.首先我们输入命令,查看mysql是否开启慢查询日志;

show variables like "%slow%";

如图:查询显示slow_query_log =OFF,表示为未开启慢查询记录;
在这里插入图片描述
输入命令进行设为开启慢查询日志:

2.开启慢查询日志

set global slow_query_log = 'ON';

3.设置慢查询日志文件存储路径;如上图,我这里是存在var目录中的;

set global slow_query_log_file = '/you_path/logfile.log';

4.设置慢查询阈值,根据需要进行设置,我这里设置10s

set global long_query_time = 10;

再次查询确认一下

show variables like "%slow%";
show variables like 'long_query’_tiem';

在这里插入图片描述
执行语句测试一下:

select sleep(12) 

在这里插入图片描述
在这里插入图片描述

如图,设置的文件中成功记录了慢查询日志。

2.永久开启慢查询日志

永久开慢查询日志,需要修改mysql配置后重启才能生效;
首先在mysql命令行中开启和设置一次阈值:

set global slow_query_log = 'ON';
set global long_query_time = 2;

然后输入命令编辑配置文件:

vim /etc/my.cnf

[mysqld]中添加以下配置

#开启慢查询
slow_query_log = 1
#设置慢查询阈值
long_query_time = 2
#设置慢查询日志存储文件位置
slow_query_log_file = /path/you/logfile.log

在这里插入图片描述

保存后输入命令:systemctl restart mysqld重启服务即可;

注意:slow_query_log_file设置的路径要确保有读写权限;

输入语句测试以下:

select sleep(3);

如图:
在这里插入图片描述


原文地址:https://blog.csdn.net/gahsfjshf/article/details/143936825

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!