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

相关推荐
盖世英雄酱581363 分钟前
6000条数据执行时间9s??
数据库·后端
dinglu1030DL7 分钟前
如何让水平滚动条始终固定在页面底部
jvm·数据库·python
2301_7838486511 分钟前
Python Selenium怎么定位元素_By.XPATH与By.CSS_SELECTOR操作DOM节点
jvm·数据库·python
2501_9010064719 分钟前
如何解决OUI图形界面无法调用_xhost与DISPLAY变量设置
jvm·数据库·python
2301_7873124323 分钟前
mysql数据库索引碎片化排查方法_mysqlInnoDB存储结构
jvm·数据库·python
qq_4142565737 分钟前
组件懒加载如何处理 JS 报错后的重试加载?保障应用高可用性实战
jvm·数据库·python
qq_392690661 小时前
如何优化SQL长文本字段查询_通过选择性返回减少IO消耗
jvm·数据库·python
小李云雾1 小时前
实际代码操作知识点分析:SQLAlchemy+FastAPI + 异步MySQL 全流程解析 + 增删改查逐行注释
数据库·mysql·fastapi
人道领域1 小时前
【黑马点评日记】:用户签到功能详解——从Bitmap入门到避坑指南
java·数据库·redis·后端
Vect__1 小时前
MySQL初识和基础操作
数据库·mysql