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

其中:

  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

3. 查看慢查询日志

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

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

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

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

4. 分析慢查询日志

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

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

mysqldumpslow /var/log/mysql/slow_query.log

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

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