Mysql开启慢查询日志的方法

一、查看当前状态

MySQL版本:5.7.31 MySQL Community Server (GPL)

mysql> show variables like 'slow_query%';
mysql> show variables like 'long_query_time';

在这里插入图片描述
变量名解释:

slow_query_log : 是否开启慢查询日志
slow_query_log_file : MySQL数据库慢查询日志存储路径
long_query_time : 慢查询阈值,当查询时间多于设定的阈值时,记录日志。

二、开启慢查询记录

先创建慢查询日志文件,并赋予mysql用户权限

touch /var/log/mysqld-slow.log
chown -R mysql:mysql /var/log/mysqld-slow.log

一、全局临时配置

注:重启后配置失效

mysql> set global slow_query_log='ON'; 
mysql> set global slow_query_log_file = '/var/log/mysqld-slow.log';
mysql> set global long_query_time= 3; #sql执行超过3秒就记录到日志

在这里插入图片描述

二、修改配置文件

注:永久有效,防止MySQL意外重启

[mysqld]
slow_query_log = ON
slow_query_log_file = /var/log/mysqld-slow.log
long_query_time = 3

三、验证是否成功

mysql> select sleep(3);

查看日志
在这里插入图片描述

四、日志分析

高级分析工具:pt-query-digest
官方文档:https://www.percona.com/doc/percona-toolkit/2.2/pt-query-digest.html

安装

[root@local-dev-public-all01 ~]# yum install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm
[root@local-dev-public-all01 ~]# yum install -y percona-toolkit
[root@local-dev-public-all01 ~]# pt-query-digest --version
pt-query-digest 3.3.1

猜你喜欢

转载自blog.csdn.net/qq_39680564/article/details/116060746
今日推荐