当前位置: 首页 > web >正文

关于Mysql开启慢查询日志报错:13 - Permission denied的解决方案

今天在使用docker创建mysql容器并启用慢查询时,使用的下面的指令:

docker run -d \
--name mysql \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=1234 \
-v /home/hl/mysql8/conf:/etc/mysql/conf.d \
-v /home/hl/mysql8/data:/var/lib/mysql \
-v /home/hl/mysql8/logs:/var/log/mysql \
mysql:8.0.19

我的my.cnf文件如下:

[mysqld]
# 开启慢查询日志
slow_query_log = on
# 慢查询日志路径
slow_query_log_file = /var/log/mysql/mysql-slow.log
# 慢查询阈值(单位:秒,超过此值的 SQL 会被记录)
long_query_time = 0.001
# 记录未使用索引的查询(可选)
# log_queries_not_using_indexes = 1

在进入容器内查看慢查询日志是否开启时,发现一直是OFF:

这说明配置文件中的slow_query_log并未加载,且直接使用set global slow_query_log = 1,也是会报错:

[HY000][29] File '/ var/ log/ mysql/ mysql-slow. log' not found (OS errno 13 - Permission denied)

解决方案:

问题出在 慢查询日志文件的权限或目录不存在,导致 MySQL 无法创建或写入日志文件。

解决步骤如下:

在容器内执行以下命令(注意:是在容器的 bash 终端,不是 MySQL 终端):

# 确保日志目录存在
mkdir -p /var/log/mysql# 手动创建慢查询日志文件
touch /var/log/mysql/mysql-slow.log# 赋予 MySQL 进程权限(关键:容器内 MySQL 通常以 mysql 用户运行)
chown -R mysql:mysql /var/log/mysql
chmod -R 755 /var/log/mysql

2. 重新设置慢查询日志并开启

文件创建后,进入 MySQL 终端配置:

# 进入 MySQL 终端
mysql -u root -p

在 MySQL 终端执行:

-- 设置慢查询日志文件路径(如果需要修改)
SET GLOBAL slow_query_log_file = '/var/log/mysql/mysql-slow.log';-- 开启慢查询日志
SET GLOBAL slow_query_log = ON;-- 验证配置
SHOW VARIABLES LIKE 'slow_query_log';  -- 应显示 ON
SHOW VARIABLES LIKE 'slow_query_log_file';  -- 应显示正确路径

问题得到了解决,重启容器再次查看也是开启的,究其原因,是我在创建挂载文件时没有创建mysql-slow.log文件,导致容器无法挂载,且没有权限创建...

http://www.xdnf.cn/news/15773.html

相关文章:

  • logback日志控制服务器日志输出
  • 对Yii2中开启`authenticator`后出现的跨域问题-修复
  • 图机器学习(11)——链接预测
  • 现代R语言【Tidyverse、Tidymodel】的机器学习方法
  • Typecho博客集成阿里云CDN+OSS实现全站加速方案
  • 关于字符编辑器vi、vim版本的安装过程及其常用命令:
  • 第七章 愿景09 海波龙的坑
  • 数字化转型:概念性名词浅谈(第三十讲)
  • Kotlin集合过滤
  • 文档处理控件TX Text Control系列教程:使用 C# .NET 将二维码添加到 PDF 文档
  • 从拆分到导出图片,这款工具如何简化PDF处理流程
  • 基于R语言piecewiseSEM结构方程模型在生态环境领域实践技术应用
  • 无标记点动捕:如何突破传统娱乐边界,打造沉浸式交互体验
  • RuoYi-Cloud框架功能分析与请求处理流程解析
  • docker,防火墙关闭后,未重启docker,导致端口映射失败
  • 【3D并排条状图】:附Origin详细画图教程
  • CertiK创始人顾荣辉出席上海Conflux大会,聚焦Web3全球化中的安全与合规路径
  • 区块链加密技术全景解析
  • (nice!!!)(LeetCode 每日一题) 2163. 删除元素后和的最小差值 (贪心+优先队列)
  • Java学习第五十三部分——后端常用函数
  • 从抓包GitHub Copilot认证请求,认识OAuth 2.0技术
  • 性能远超Spring Cloud Gateway!Apache ShenYu如何重新定义API网关!
  • 集成开发环境:在IntelliJ IDEA中高效运行与调试Spring Boot
  • LangChain 源码剖析(三):连接提示词与大语言模型的核心纽带——LLMChain
  • Mock 单元测试
  • AI驱动数据质量优化:破局数据治理难题
  • PyCharm高效入门指南
  • 力扣 hot100 Day48
  • 雪豹大模型驱动效率革命 华鼎冷链科技重构餐饮供应链神经网络
  • 寻找数组中的多数元素:HashMap方法解析