1. 配置慢查询日志文件

要开启 MySQL 的慢查询日志,首先需要配置慢查询日志文件。

在 MySQL 的配置文件 (通常为 my.cnf 或 my.ini) 中添加以下配置:

[mysqld]
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow_query.log
long_query_time = 2
log_queries_not_using_indexes = 1
HTML

其中:

  1. slow_query_log = 1 表示开启慢查询日志功能。
  2. slow_query_log_file = /var/log/mysql/slow_query.log 指定慢查询日志文件的路径。
  3. long_query_time = 2 表示执行时间超过 2 秒的查询将被记录到慢查询日志中。
  4. log_queries_not_using_indexes = 1 表示记录未使用索引的查询语句。

2. 重启 MySQL 服务

配置完慢查询日志文件后,需要重启 MySQL 服务使配置生效。

可以通过以下命令重启 MySQL 服务:

sudo service mysql restart
HTML

3. 查看慢查询日志

重启 MySQL 服务后,MySQL 会开始记录执行时间超过设定值的查询到慢查询日志文件中。

可以使用以下命令查看慢查询日志:

sudo tail -f /var/log/mysql/slow_query.log
HTML

以上命令将实时输出最新的慢查询日志。

4. 分析慢查询日志

通过查看慢查询日志,可以分析查询性能较差的 SQL 语句,以便进行优化。

可以针对慢查询日志文件使用 MySQL 官方提供的工具 mysqldumpslow 进行分析,例如:

mysqldumpslow /var/log/mysql/slow_query.log
HTML

该命令将输出慢查询日志中查询时间最长的前十条查询,以及各查询的执行次数和平均执行时间等信息。

根据分析结果,可以优化查询语句、添加索引或调整数据库配置等措施,提升 MySQL 的查询性能。