docker 启动MySQL一直处于restarting状态

问题描述

docker 启动MySQL失败,我通过docker logs -f mysql命令查看日志发现以下错误

[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底下了,这底下就两个空文件夹。

解决方案

1.先创建一个简单的mysql容器实例

docker run -p 3306:3306 --name  sample-mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

2.复制里面的/etc/mysql文件夹

docker cp sample-mysql:/etc/mysql/. /mydata/mysql/conf

3.删除掉临时容器

docker rm -f sample-mysql

4.启动完整的容器命令

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>