mysqld: Can‘t read dir of ‘/etc/mysql/conf.d/‘ (Errcode: 13 - Permission denied)

这篇具有很好参考价值的文章主要介绍了mysqld: Can‘t read dir of ‘/etc/mysql/conf.d/‘ (Errcode: 13 - Permission denied)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

今天用docker去运行mysql的时候,一直existing
输入 docker logs 镜像ID的时候发现报了mysqld: Can‘t read dir of ‘/etc/mysql/conf.d/‘ (Errcode: 13 - Permission denied)
网上都是说docker权限问题,我就跟着输入了
原因:
因为Centos7安全Selinux禁止了部分安全权限,导致mysql和mariadb在进行挂载/var/lib/mysql的时候会提示上面的信息

解决方法
在docker run中加入 --privileged=true 给容器加上特定权限

实际上还是没办法解决问题,还是运行失败

真正的解决方法:
1、建立对应的目录:

sudo mkdir /etc/mysql/conf.d

2、运行mysql指定-v 挂载到这个目录下

sudo docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7

如果还没解决可以像网上那样加入 --privileged=true 给容器加上特定权限
即:

sudo docker run --privileged=true \
-p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7

我这边是mysql5.7的,如果是8.0以上的版本应该输入文章来源地址https://www.toymoban.com/news/detail-549438.html

docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:8.0.30

到了这里,关于mysqld: Can‘t read dir of ‘/etc/mysql/conf.d/‘ (Errcode: 13 - Permission denied)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • mysqld: File ‘./binlog.index‘ not found (OS errno 13 - Permission denied) 问题解决

    Centos7 安装Mysql 8后启动时遇到的问题,看了好几个博客方案无效,搞了半小时才找到正解,在此次进行记录。 在此假设你已经修改了对应目录的权限,比如配置的mysql data目录初始化后已经执行了 chown -R mysql:mysql /XXX/data 启动失败后 systemctl status mysqld 查看状态如下 查看启动日

    2024年02月07日
    浏览(51)
  • 解决docker运行redis报错:Fatal error, can‘t open config file /etc/redis/redis.conf以及启动redis后自动退出容器

    现象如下:  看了报错是权限问题,然后发现redis1.conf的权限果然不大对, 所以运行 chmod o+r 添加权限 但是启动后容器自动退出: 然后把redis-server改成绝对路径/usr/local/bin/redis-server  此时就能发现报错真正的原因:是原始redis.conf配置文件内容的问题,而不是文件本身挂载的

    2024年02月04日
    浏览(61)
  • ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock‘

    这个错误提示通常是由于MySQL服务没有启动或者启动失败导致的,可以尝试以下方法解决: 1.检查MySQL服务是否已经启动,可以通过以下命令查看MySQL服务的运行状态: 如果服务没有启动,可以使用以下命令启动MySQL服务: 如果服务已经启动,可以尝试重新启动MySQL服务: 2.检

    2024年02月10日
    浏览(65)
  • mysql 启动报错 Can t change dir to xxx, No such file or directory 配置错误或挂载导致

    挂载的话,使用 /etc/fstab 放fstab里会在程序启动前加载NFS文件系统,放rc.local里往往造成程序启动加载时找不到路径。   在企业中,服务器重启,有时候会遇到mysql 启动报错 Can`t change dir to \\\'xxx\\\', No such file or directory。大致意思是无法将目录换成xxx,因为没有这个目录。 原因通

    2024年02月08日
    浏览(49)
  • k8s非root用户报错:error loading config file “/etc/kubernetes/admin.conf“: open /etc/kubernetes/admin.conf

    chatgpt回答的…… 这个错误是由于当前非root用户没有足够的权限来读取 \\\"/etc/kubernetes/admin.conf\\\" 配置文件导致的。在 Kubernetes 中,\\\"/etc/kubernetes/admin.conf\\\" 是用于管理员访问 Kubernetes 集群的配置文件,因此通常需要 root 用户或有足够权限的用户才能访问。 解决这个问题的方法有以

    2024年02月13日
    浏览(59)
  • 成功解决:nginx: [emerg] unexpected “}“ in /etc/nginx/conf.d/gulimall.conf:10

    前言 再用nginx做反向代理的时候,修改配置后。重新启动失败。 原因是配置文件中少了分号。 查看nginx容器日志 关键部分 nginx: [emerg] unexpected “}” in /etc/nginx/conf.d/gulimall.conf:10 在配置文件中修改 再次运行nginx

    2024年02月11日
    浏览(43)
  • ubuntu20.04/etc/resolv.conf 语法语义解释

    在 Ubuntu 20.04 中,`/etc/resolv.conf` 文件的语法和语义有一些变化。在该版本中,`/etc/resolv.conf` 文件不再直接用于配置 DNS 解析器,而是由 `systemd-resolved` 服务动态生成和管理。 `/etc/resolv.conf` 文件中的内容通常会被 `systemd-resolved` 自动生成,并包含以下注释行: ``` # This file is m

    2024年02月02日
    浏览(52)
  • linux中etc目录下hosts与resolv.conf文件作用

    个人博客 文件则是一个本地的域名解析文件,它可以用来手动指定域名和IP地址的对应关系。 当操作系统在DNS服务器中无法找到域名对应的IP地址时,它会查看 /etc/hosts 文件 ,以查找是否有手动指定的对应关系。这个文件通常用于在本地测试和开发环境中,或者是在不想使用

    2024年02月05日
    浏览(48)
  • linux /etc/resolv.conf 改完dns 怎么保证重启仍然生效

    在 Linux 系统中,可以使用 resolvconf 工具来管理 /etc/resolv.conf 文件。这个工具会在系统重启后自动重新配置 DNS。 另外一种方法是直接修改 /etc/network/interfaces 文件,在里面加上 dns-nameservers x.x.x.x 便可 你可以通过运行 sudo resolvconf -u 来更新 DNS 配置,使之生效。 此外,也可以在 /

    2024年02月11日
    浏览(46)
  • linux设置日志文件保存时间为6个月(/etc/logrotate.conf)

    1、编辑/etc/logrotate.conf文件 将全局的weekly下的rotate 4改为rotate 24,表示6个月; 将指定文件的monthly下的rotate 1改为rotate 6,表示6个月。  2、重启日志服务

    2024年02月11日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包