如何在mysql中查看SQL执行日志

P粉602998670
发布: 2025-10-30 19:12:02
原创
650人浏览过
开启MySQL SQL执行日志需配置通用查询日志或慢查询日志。1. 通用日志记录所有SQL,通过SET GLOBAL general_log = ON启用,可输出至文件或表;2. 慢查询日志用于捕获执行时间超过阈值的SQL,通过SET GLOBAL slow_query_log = ON和long_query_time设置;3. 持久化配置需在my.cnf中添加相应参数并重启服务。生产环境建议慎用通用日志,避免性能影响和磁盘占用。

如何在mysql中查看sql执行日志

在 MySQL 中查看 SQL 执行日志,主要依赖于开启通用查询日志(General Query Log)或使用慢查询日志(Slow Query Log)来捕获执行的 SQL 语句。以下是具体操作方法。

启用通用查询日显(记录所有SQL执行)

通用查询日志会记录所有发送到 MySQL 服务器的 SQL 语句,适合用于调试和审计。

1. 查看当前是否开启:
SHOW VARIABLES LIKE 'general_log%';
如果 general_log 值为 OFF,则未开启。
2. 开启通用日志(临时生效):
SET GLOBAL general_log = ON;
日志默认输出到表或文件,由 general_log_filelog_output 决定。
3. 设置日志输出方式:
- 输出到文件:
SET GLOBAL log_output = 'FILE';
并指定文件路径:
SET GLOBAL general_log_file = '/var/log/mysql/general.log'; - 输出到数据库表(mysql.general_log):
SET GLOBAL log_output = 'TABLE';
4. 查看日志内容:
若输出到表:
SELECT * FROM mysql.general_log ORDER BY event_time DESC LIMIT 100;

配置慢查询日志(定位执行慢的SQL)

如果你只关心执行时间较长的 SQL,建议使用慢查询日志,性能影响更小。

如知AI笔记
如知AI笔记

如知笔记——支持markdown的在线笔记,支持ai智能写作、AI搜索,支持DeepseekR1满血大模型

如知AI笔记27
查看详情 如知AI笔记
1. 开启慢查询日志:
SET GLOBAL slow_query_log = ON;
2. 设置慢查询阈值(单位:秒):
例如设置超过 1 秒的查询为“慢”:
SET GLOBAL long_query_time = 1;
3. 指定慢日志文件路径:
SET GLOBAL slow_query_log_file = '/var/log/mysql/slow.log';
4. 查看慢查询日志内容:
直接使用命令行查看文件:
tail -f /var/log/mysql/slow.log
或使用 mysqldumpslow 工具分析:
mysqldumpslow /var/log/mysql/slow.log

持久化配置(重启后仍生效)

上述 SET 命令仅在当前运行时有效。要永久生效,需修改 MySQL 配置文件(如 my.cnf 或 my.ini)。

在 [mysqld] 段添加:
[mysqld]
# 开启通用日志
general_log = ON
general_log_file = /var/log/mysql/general.log
log_output = FILE
<h1>开启慢查询日志</h1><p>slow_query_log = ON
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 1</p>
登录后复制
修改后重启 MySQL 服务。

基本上就这些。根据实际需求选择开启通用日志或慢查询日志,注意通用日志对性能有一定影响,生产环境慎用。日志文件需要定期清理,避免占用过多磁盘空间。

以上就是如何在mysql中查看SQL执行日志的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号