【赵渝强老师】MySQL的慢查询日志

embedded/2024/11/23 2:53:42/

在这里插入图片描述

MySQL的慢查询日志可以把超过参数long_query_time时间的所有SQL语句记录进来,帮助DBA人员优化所有有问题的SQL语句。通过mysqldumpslow工具可以查看慢查询日志。

视频讲解如下:

MySQL的慢查询日志

【赵渝强老师】MySQL的慢查询日志

下面通过具体的演示来说明如何使用MySQL的慢查询日志。

(1)查看是否开启了慢查询日志功能

mysql> show variables like '%slow_query%';# 输出的信息如下:
+---------------------+----------------------------------------+
| Variable_name       | Value                                  |
+---------------------+----------------------------------------+
| slow_query_log      | OFF                                    |
| slow_query_log_file | /usr/local/mysql/data/mysql11-slow.log |
+---------------------+----------------------------------------+
# 其中:
# slow_query_log:是否慢查询开启状态。
# slow_query_log_file:指定慢查询日志存放的位置。

提示:可以通过设置参数“long_query_time”来指定查询超过多少秒才记录,该参数的默认值是10秒。

(2)临时启用慢查询日志

mysql> set global slow_query_log='ON';
mysql> set session long_query_time=2;  

提示:如果需要永久启用慢查询日志,可以修改配置文件“/etc/mysql.cnf”增加下面的内容,并重启MySQL。

[mysqld]
slow_query_log = ON
slow_query_log_file = /usr/local/mysql/data/mysql11-slow.log
long_query_time = 2

(3)查看当前的慢查询日志设置

mysql> show variables like '%slow_query_log%';# 输出的信息如下:
+---------------------+----------------------------------------+
| Variable_name       | Value                                  |
+---------------------+----------------------------------------+
| slow_query_log      | ON                                     |
| slow_query_log_file | /usr/local/mysql/data/mysql11-slow.log |
+---------------------+----------------------------------------+mysql> show variables like '%long_query_time%';# 输出的信息如下:
+-----------------+----------+
| Variable_name   | Value    |
+-----------------+----------+
| long_query_time | 2.000000 |
+-----------------+----------+

(4)手动触发一个慢查询。

mysql> select sleep(3);

(5)查看慢查询日志

cat /usr/local/mysql/data/mysql11-slow.log# 输出的信息如下:
/usr/local/mysql/bin/mysqld, Version: 8.0.20 (MySQL Community Server - GPL). started with:
Tcp port: 3306  Unix socket: /tmp/mysql.sockTime                 Id Command    Argument
# Time: 2022-02-20T03:37:12.626943Z
# User@Host: root[root] @ localhost []  Id:     8
# Query_time:3.000572 Lock_time: 0.000000 Rows_sent:1 Rows_examined: 1use demo1;
SET timestamp=1645328229;
select sleep(3);

提示:慢查询日志也可以使用“mysqldumpslow”指令进行查看,例如:

mysqldumpslow /usr/local/mysql/data/mysql11-slow.log

http://www.ppmy.cn/embedded/139770.html

相关文章

【IOS】Undefined symbol: _OBJC_CLASS_$_PAGFile

项目场景: flutter构建framework包,ios导入时,报PAG动画第三方库引用错误问题。 问题描述 Undefined symbol: _OBJC_CLASS_$_PAGFile Undefined symbol: _OBJC_CLASS_$_PAGPlayer Undefined symbol: _OBJC_CLASS_$_PAGSurface 1.第三方PAG…

用Redis实现去重的任务队列的多种方案

前情提要:一点小小的不完善的方案的思考和设计,不对的地方或是更好的方案欢迎大佬们在评论区讨论~ 需求背景: 在Redis里使用List数据结构做任务队列,但是有的时候任务可能会重复添加,所以需要进行去重。 队列需要有优…

自动语音识别(ASR)与文本转语音(TTS)技术的应用与发展

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

自适应安全框架(ASA)在网络安全2.0新防御体系中的应用

随着云计算、大数据、移动互联、物联网等新技术的成熟,社交网络、电子商务、智慧城市的发展,已经使人们的生活全面走进了由网络所构建的虚拟世界。 随着网络承载的事务越来越丰富,其所面临的安全威胁也越来越多,针对关键信息基础…

深入理解Redis(七)----Redis实现分布式锁

基于Redis的实现方式 1、选用Redis实现分布式锁原因: (1)Redis有很高的性能; (2)Redis命令对此支持较好,实现起来比较方便 2、使用命令介绍: (1)SETNX SETNX …

electron快速上手

1、electron 一款应用广泛的跨平台的桌面应用开发框架electron本质是结合了chromium与node.js 使用html、css、js等web技术构建桌面应用程序(vue tsx less ts) 2、 electron流程模型 main 可以__dirname fs render进程可以 alert() window() 3、创建 …

网络安全的学习路线

网络安全主要分别以下几种:1 web安全 2 系统安全 3二进制逆向 4 红蓝对抗 5 密码学 6 AI安全 7 移动(ios,Anroid)安全 1 web安全: 其中 sql xss csrf 是网络安全人员的基本知识。 DDoS攻击 已经是古老的网络攻击。 TCP …

连接数据库:通过链和代理查询鲜花信息

目录 新的数据库查询范式 实战案例背景信息 创建数据库表 用 Chain 查询数据库 用 Agent 查询数据库 一直以来,在计算机编程和数据库管理领域,所有的操作都需要通过严格、专业且结构化的语法来完成。这就是结构化查询语言(SQL&#xff0…