启用并解析MySQL慢查询日志教程

3 下载量 62 浏览量 更新于2024-08-28 收藏 59KB PDF 举报
本篇教程详细介绍了如何对MySQL的慢查询日志进行基本分析。首先,确保慢查询功能已启用是至关重要的。你可以通过两种方式检查: 1. **快速检查**:在MySQL命令行中运行SQL语句 `SHOW VARIABLES LIKE '%slow%'` 来查看相关变量,确认`log_slow_queries` 是否已经打开。 2. **配置文件检查**:查阅 `my.cnf` 或 `my.ini` 文件,在 `[mysqld]` 配置区域,查找 `log-slow-queries` 和 `long_query_time` 的设置,如 `log-slow-queries` 指定慢查询日志的保存路径,`long_query_time` 设置超过该时间阈值的查询会被记录。 如果需要临时修改设置,应使用 `SET GLOBAL` 命令,例如: ```sql SET GLOBAL log_slow_queries=ON; SET GLOBAL slow_query_log=ON; SET GLOBAL long_query_time=0.1; # 将默认的长时间阈值设为0.1秒 ``` 慢查询日志文件包含关键信息,如查询时间 (`Query_time`)、锁定时间 (`Lock_time`)、发送的行数 (`Rows_sent`)、检查的行数 (`Rows_examined`)以及执行操作的时间戳 (`SET timestamp`)。分析这些数据有助于识别性能瓶颈。 推荐工具 **pt-query-digest** 用于深入分析慢查询日志,它可以生成易于理解的报告。以下是一些pt-query-digest的用法: - `pt-query-digest –report-slow.log`:查看最近半小时内的慢查询。 - `pt-query-digest –report –since ‘2013-02-10 21:48:59’ –until ‘2013-02-16 02:33:50’ slow.log`:分析指定日期范围内的慢查询。 - `pt-query-digest –f "SELECT *"`:仅报告含有 `SELECT` 语句的慢查询,这对于定位读取密集型问题特别有用。 通过这些方法,你可以更好地理解和优化你的MySQL查询,提高数据库性能。记住,持续监控和定期审查慢查询日志是维护高效数据库系统的关键步骤。