Unbuntu 中如何开启 MySQL 的慢日志

目录

[步骤 1: 找到配置文件](#步骤 1: 找到配置文件)

[步骤 2: 编辑配置文件](#步骤 2: 编辑配置文件)

[步骤 3: 添加慢查询日志设置](#步骤 3: 添加慢查询日志设置)

[步骤 4: 重启 MySQL 服务](#步骤 4: 重启 MySQL 服务)

[步骤 5: 检查慢查询日志](#步骤 5: 检查慢查询日志)

[步骤 6: 验证设置](#步骤 6: 验证设置)

步骤 1: 找到配置文件

首先确认你的 MySQL 配置文件的位置。你可以使用 **grep**命令来搜索相关配置文件的位置,例如:

复制代码
grep -rl "slow_query_log" /etc/mysql/

这将列出所有包含 "slow_query_log" 关键词的配置文件。

如果上述命令没有返回结果,你可以直接编辑 /etc/mysql/mysql.conf.d/mysqld.cnf/etc/mysql/my.cnf

步骤 2: 编辑配置文件

使用文本编辑器打开配置文件。这里我们以 /etc/mysql/mysql.conf.d/mysqld.cnf 为例:

bash 复制代码
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

步骤 3: 添加慢查询日志设置

[mysqld] 部分添加以下行:

bash 复制代码
slow_query_log = 1
slow_query_log_file = /var/log/mysql/mysql-slow.log
long_query_time = 2
log_queries_not_using_indexes = 1
  • slow_query_log = 1 启用慢查询日志功能。
  • slow_query_log_file 设置慢查询日志文件的位置。
  • long_query_time 设置慢查询的阈值(秒)。默认是 10 秒,这里设为 2 秒。
  • log_queries_not_using_indexes = 1 记录不使用索引的查询。

步骤 4: 重启 MySQL 服务

保存并关闭配置文件后,你需要重启 MySQL 服务使更改生效:

bash 复制代码
sudo systemctl restart mysql

步骤 5: 检查慢查询日志

重启服务后,你可以通过查看日志文件来验证慢查询日志是否已经被记录:

bash 复制代码
tail -n 100 /var/log/mysql/mysql-slow.log

这将显示慢查询日志文件中的最后 100 行。

步骤 6: 验证设置

你还可以登录到 MySQL 并执行以下命令来验证慢查询日志设置是否正确:

bash 复制代码
SHOW VARIABLES LIKE 'slow_query_log';
SHOW VARIABLES LIKE 'slow_query_log_file';
SHOW VARIABLES LIKE 'long_query_time';
SHOW VARIABLES LIKE 'log_queries_not_using_indexes';

这将显示慢查询日志的相关设置。

完成以上步骤后,你的 MySQL 服务器就应该开始记录慢查询了。

相关推荐
optimistic_chen7 分钟前
【Redis 系列】常用数据结构---ZSET类型
数据结构·数据库·redis·xshell·zset·redis命令
cike_y9 分钟前
Spring整合Mybatis:dao层
java·开发语言·数据库·spring·mybatis
小蒜学长11 分钟前
足球联赛管理系统(代码+数据库+LW)
java·数据库·spring boot·后端
松涛和鸣12 分钟前
45、无依赖信息查询系统(C语言+SQLite3+HTML)
c语言·开发语言·数据库·单片机·sqlite·html
智航GIS15 分钟前
9.2 多进程入门
数据库·python
骑着bug的coder15 分钟前
第10讲:并发场景优化——锁机制与死锁解决
后端·mysql
DemonAvenger16 分钟前
Redis与微服务:分布式系统中的缓存设计模式
数据库·redis·性能优化
柒.梧.19 分钟前
Spring JDBC实战指南:从基础操作到事务管理全解析
数据库·oracle
rchmin22 分钟前
PostgreSQL与MySQL选型对比
数据库·mysql·postgresql
Data_agent24 分钟前
微店商品列表API接口指南
大数据·数据库·python