有时候我们在使用Docker
启动MySQL
的时候会遇到启动失败,使用docker logs
命令查看的时候发现了如下的错误日志.
[ERROR] [Entrypoint]: mysqld failed while attempting to check config command was: mysqld --verbose --help --log-bin-index=/tmp/tmp.WHijR591XA mysqld: Can't read dir of '/etc/mysql/conf.d/' (Errcode: 2 - No such file or directory)mysqld: [ERROR] Fatal error in defaults handling. Program aborted!
看到这个错误日志大家不要慌,大概意思就是说没找到 /etc/mysql/conf.d
这个文件夹。原因其实是官方丫的配置文件已经不放在/etc/mysql底下了,这底下就两个空文件夹。
解决方案
先创建一个简单的mysql容器实例
docker run -p 3306:3306 --name sample-mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
复制里面的/etc/mysql
文件夹
docker cp sample-mysql:/etc/mysql/. /mydata/mysql/conf
删除掉临时容器
docker rm -f sample-mysql
启动完整的容器命令
docker run \-p 3306:3306 \--name mysql \-e MYSQL_ROOT_PASSWORD=123456 \-v /mydata/mysql/log:/var/log/mysql \-v /mydata/mysql/data:/var/lib/mysql \-v /mydata/mysql/conf:/etc/mysql \--privileged=true-d mysql:5.7
来源地址:https://blog.csdn.net/javaboyweng/article/details/130928503