教程 mariadb tutorial

慢查询日志

1. 什么是慢查询日志

慢查询日志用于记录执行时间超过指定阈值的 SQL 语句,帮助开发和运维人员分析和优化数据库性能,提升响应速度。

2. 启用慢查询日志

编辑 MariaDB 配置文件(通常为 /etc/my.cnf 或 /etc/mysql/my.cnf),添加或修改以下参数:

ini
[mysqld]
slow_query_log = ON
slow_query_log_file = /var/log/mysql/mariadb-slow.log
long_query_time = 2
log_queries_not_using_indexes = ON

`

参数说明:

  • slow_query_log:启用慢查询日志。
  • slow_query_log_file:慢查询日志文件路径。
  • long_query_time:定义超过多少秒的查询被记录,单位为秒。
  • log_queries_not_using_indexes:记录未使用索引的查询。

3. 重启 MariaDB 服务

保存配置后,重启 MariaDB 使配置生效:

bash
systemctl restart mariadb

4. 查看慢查询日志

可以使用 tail 命令实时查看慢查询日志:

bash
tail -f /var/log/mysql/mariadb-slow.log

也可以使用 mysqldumpslow 工具对日志进行汇总分析:

bash
mysqldumpslow /var/log/mysql/mariadb-slow.log

5. 优化建议

  • 根据慢查询日志定位长时间执行的 SQL,检查是否缺少索引或查询不合理。
  • 优化 SQL 语句结构,合理使用索引。
  • 定期监控慢查询日志,持续提升数据库性能。

通过启用和分析慢查询日志,能够有效发现性能瓶颈,是数据库性能优化的重要手段。