今天用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 给容器加上特定权限
即:文章来源:https://www.toymoban.com/news/detail-549438.html
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模板网!