开启慢查询日志需在配置文件的[mysqld]段落添加slow_query_log = ON和指定日志路径;2. 设置long_query_time定义慢查询阈值,如2秒;3. 可选配置log_queries_not_using_indexes记录未使用索引的查询;4. 修改后重启MySQL或动态执行SET GLOBAL命令生效,随后可用工具分析日志。

配置 MySQL 慢查询日志是优化数据库性能的重要步骤,它能帮助你识别执行时间较长的 SQL 语句。以下是具体配置方法。
1. 开启慢查询日志功能
在 MySQL 配置文件中启用慢查询日志。配置文件通常位于:
- Linux: /etc/my.cnf 或 /etc/mysql/mysql.conf.d/mysqld.cnf
- Windows: my.ini
在 [mysqld] 段落下添加以下配置:
slow_query_log = ONslow_query_log_file = /var/log/mysql/slow.log
确保指定的日志路径存在且 MySQL 有写入权限。
2. 设置慢查询时间阈值
定义多长时间的查询被视为“慢”。例如,记录超过 2 秒的查询:
long_query_time = 2这个值可以根据实际业务需求调整,比如设为 1 或 0.5 秒以更严格监控。
3. 记录未使用索引的查询(可选)
如果你想记录那些没有使用索引的查询语句,可以开启:
log_queries_not_using_indexes = ON这有助于发现潜在的性能问题,但可能产生大量日志,建议在调试阶段开启。
4. 重启 MySQL 或动态生效
修改配置后,重启 MySQL 服务使设置生效:
sudo systemctl restart mysql或者,如果支持动态设置,也可以在 MySQL 命令行中执行(无需重启):
SET GLOBAL slow_query_log = 'ON';SET GLOBAL slow_query_log_file = '/var/log/mysql/slow.log';
SET GLOBAL long_query_time = 2;
注意:动态设置的 long_query_time 需要重新连接客户端才会生效。
基本上就这些。配置完成后,MySQL 会自动将符合条件的慢查询记录到指定日志文件中,你可以用 mysqldumpslow 或 pt-query-digest 工具分析日志内容。










