启用慢查询日志可帮助识别执行时间较长的SQL语句。1. 在my.cnf或my.ini的[mysqld]段落添加slow_query_log=ON、指定slow_query_log_file路径、设置long_query_time阈值,可选log_queries_not_using_indexes=ON;2. 创建日志目录并授予mysql权限;3. 重启MySQL服务;4. 登录数据库执行SHOW VARIABLES检查配置是否生效,确认slow_query_log为ON,并通过SELECT SLEEP(3)测试日志记录。配置正确后MySQL将自动记录慢查询。
MySQL 安装后启用慢查询日志,可以帮助你识别执行时间较长的 SQL 语句,从而优化数据库性能。只需在配置文件中进行简单设置即可开启。
1. 修改 MySQL 配置文件
找到 MySQL 的配置文件 my.cnf 或 my.ini(Linux 一般位于 /etc/my.cnf 或 /etc/mysql/my.cnf,Windows 在安装目录下)。
在 [mysqld] 段落下添加或修改以下参数:
- slow_query_log = ON:启用慢查询日志
- slow_query_log_file = /var/log/mysql/mysql-slow.log:指定日志文件路径(确保目录存在且 MySQL 有写入权限)
- long_query_time = 2:定义“慢查询”的阈值,单位为秒(例如超过 2 秒的查询会被记录)
- log_queries_not_using_indexes = ON(可选):记录未使用索引的查询,即使执行时间未超时
示例配置:
[mysqld]
slow_query_log = ON
slow_query_log_file = /var/log/mysql/mysql-slow.log
long_query_time = 2
log_queries_not_using_indexes = ON
2. 创建日志目录并授权
如果日志路径不存在,需手动创建并赋权:
sudo mkdir -p /var/log/mysql
sudo chown mysql:mysql /var/log/mysql
3. 重启 MySQL 服务
使配置生效,重启 MySQL:
# Linux(根据系统选择)
sudo systemctl restart mysql
# 或
sudo service mysql restart
4. 验证慢查询日志是否启用
登录 MySQL 执行以下命令检查状态:
SHOW VARIABLES LIKE 'slow_query_log';
SHOW VARIABLES LIKE 'slow_query_log_file';
SHOW VARIABLES LIKE 'long_query_time';
如果 slow_query_log 显示为 ON,说明已成功启用。
你也可以手动执行一条耗时较长的查询(如 SELECT SLEEP(3);),然后查看日志文件是否有记录。
基本上就这些。只要配置正确,MySQL 会自动将符合条件的查询写入慢日志,便于后续分析。
mysql linux windows win 配置文件 mysql安装 sql语句 sql权限 sql mysql select var windows 数据库 linux