要启用 MySQL 慢查询日志,需要修改 MySQL 配置文件 my.cnf,在 [mysqld] 部分添加以下配置:
slow_query_log = 1 long_query_time = 5 slow_query_log_file = /var/log/mysql/mysql-slow.log
slow_query_log 表示开启慢查询日志,long_query_time 表示查询时间超过该值就会被记录在慢查询日志中,slow_query_log_file 指定了慢查询日志文件的路径和名称。
修改完 my.cnf 文件后,需要重启 MySQL 服务才能生效。
可以使用以下命令来查看慢查询日志:
sudo mysqldumpslow /var/log/mysql/mysql-slow.log
该命令会按照执行时间对慢查询进行排序,并输出统计信息和查询语句。
如果想查看某个特定时间段的慢查询,可以使用以下命令:
sudo mysqldumpslow -s t -t 10 /var/log/mysql/mysql-slow.log
其中 -s t 表示按照查询时间排序,-t 10 表示只输出前 10 条结果。
通过分析慢查询日志,可以找到哪些查询耗时长、哪些查询频率高等问题,然后针对性地优化查询语句、增加索引等,提高数据库查询性能。