我是安装完mysql以后,通过这条命令进入mysql容器的时候出现报错:
docker exec -it mysql /bin/bash
然后我是去网上看处理过程,很多博客说只要restart docker就可以,但是我的一直都是在报错。
我的建议是:
第一步去查看报错的日志:
docker logs+容器id
通过这个即可发现出错问题的地方,很多相同报错的地方,处理方法是不同的。
我的日志显示问题是:
mysqld failed while attempting to check config
***mand was: mysqld --verbose --help --log-bin-index=/tmp/tmp.XeHsvFblmW
mysqld: Can't read dir of '/etc/mysql/conf.d/' (Errcode: 2 - No such file or directory)
通过查阅博客,可以确定问题是:
通过查看该容器的日志,可以看到主要是因为读取不到/etc/mysql/conf.d/目录。
解决方法是:
将启动mysql服务命令:
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 \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
修改为:
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
最后,问题解决。