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 服务器就应该开始记录慢查询了。

相关推荐
Nturmoils5 小时前
集中式与分布式怎么选:从订单读写看 KingbaseES 的架构边界
数据库
xiaomuzuirenzhen5 小时前
大专电子商务从事电商运营分析师需要考证吗?
大数据·数据库
翔云1234568 小时前
RocksDB中,客户端每写入一次数据,需要访问几次磁盘
运维·数据库·mysql
DevOpenClub8 小时前
职教高考控制线 API:招生类别枚举、筛选与空分数含义
java·数据库·高考
GeW9 小时前
新质生产力路线图解读:数据库性能优化与Linux调优专场
linux·数据库
在多学一点11 小时前
MYSQL第二次作业
android·数据库·mysql
yeccheng11 小时前
MySQL 索引超详解:从底层 B+ 树到面试高频考点
java·开发语言·jvm·mysql·面试
Risehuxyc11 小时前
Microsoft.Data.Sqlite体验
数据库·sqlite
骑着蜗牛撵大象32711 小时前
MySQL 8.0 迁移后 SQL 变慢:执行计划里 3 类被忽略的成本差异
android·数据库·sql·mysql·优化器·执行计划
ZENERGY-众壹12 小时前
告警风暴怎么压?100MW 电站监控平台告警引擎架构复盘
数据库·架构·iot·电站监控