mysql 查看慢查询

云游道人 2025-05-24 1148 阅读 0评论

在 MySQL 中查看慢查询,可以通过以下几种方法:

1. 启用并配置慢查询日志

MySQL 的「慢查询日志」会记录执行时间超过指定阈值的 SQL 语句,默认未开启。需要以下步骤:


步骤 1:检查当前配置

-- 查看慢查询日志是否开启(ON/OFF) SHOW VARIABLES LIKE 'slow_query_log'; -- 查看慢查询日志文件路径 SHOW VARIABLES LIKE 'slow_query_log_file'; -- 查看慢查询阈值(单位:秒,默认 10 秒) SHOW VARIABLES LIKE 'long_query_time'; -- 是否记录未使用索引的查询(可选) SHOW VARIABLES LIKE 'log_queries_not_using_indexes';


步骤 2:动态开启(无需重启 MySQL)

-- 开启慢查询日志(临时生效,重启失效) SET GLOBAL slow_query_log = 'ON'; -- 设置慢查询阈值(例如设为 1 秒) SET GLOBAL long_query_time = 1; -- 可选:记录未使用索引的查询 SET GLOBAL log_queries_not_using_indexes = 'ON';


步骤 3:永久生效(修改配置文件)

修改 MySQL 配置文件(如 my.cnf 或 my.ini),添加以下内容:

[mysqld] slow_query_log = 1 slow_query_log_file = /var/log/mysql/mysql-slow.log long_query_time = 1 log_queries_not_using_indexes = 1

重启 MySQL 服务使配置生效。


2. 查看慢查询日志

直接查看日志文件内容(路径由 slow_query_log_file 指定):

# Linux/Mac 查看日志 sudo tail -f /var/log/mysql/mysql-slow.log

3. 使用工具分析慢查询日志

方法 1:mysqldumpslow(MySQL 自带)

汇总分析慢查询日志:

# 按总耗时排序 mysqldumpslow -s t /var/log/mysql/mysql-slow.log # 按出现次数排序 mysqldumpslow -s c /var/log/mysql/mysql-slow.log # 按单个查询的锁定时间排序 mysqldumpslow -s l /var/log/mysql/mysql-slow.log # 查看帮助 mysqldumpslow --help

方法 2:pt-query-digest(Percona Toolkit)

更强大的第三方工具(需安装):

# 安装 Percona Toolkit(以 Ubuntu 为例) sudo apt-get install percona-toolkit # 分析慢查询日志 pt-query-digest /var/log/mysql/mysql-slow.log


4. 直接查询 information_schema

通过系统表查看慢查询(需开启 slow_query_log):

-- 查看最近记录的慢查询 SELECT * FROM information_schema.slow_log;


关键参数总结

        参数                                                     说明

slow_query_log                                 是否开启慢查询日志(ON/OFF)

slow_query_log_file                           日志文件路径

long_query_time                                慢查询阈值(单位:秒)

log_queries_not_using_indexes         是否记录未使用索引的查询

常见问题

1、日志文件权限问题

确保 MySQL 用户有权限写入日志文件路径。


2、动态设置 long_query_time 不生效

需重新连接 MySQL 会话,或直接在配置文件中修改。


3、日志过大

定期清理日志文件,或使用工具(如 logrotate)自动管理。

通过以上方法,您可以快速定位和分析 MySQL 慢查询,优化数据库性能。



喜欢就支持以下吧
点赞 0

发表评论

快捷回复: 表情:
aoman baiyan bishi bizui cahan ciya dabing daku deyi doge fadai fanu fendou ganga guzhang haixiu hanxiao zuohengheng zhuakuang zhouma zhemo zhayanjian zaijian yun youhengheng yiwen yinxian xu xieyanxiao xiaoku xiaojiujie xia wunai wozuimei weixiao weiqu tuosai tu touxiao tiaopi shui se saorao qiudale qinqin qiaoda piezui penxue nanguo liulei liuhan lenghan leiben kun kuaikule ku koubi kelian keai jingya jingxi jingkong jie huaixiao haqian aini OK qiang quantou shengli woshou gouyin baoquan aixin bangbangtang xiaoyanger xigua hexie pijiu lanqiu juhua hecai haobang caidao baojin chi dan kulou shuai shouqiang yangtuo youling
提交
评论列表 (有 0 条评论, 1148人围观)

最近发表

热门文章

最新留言

热门推荐

标签列表