[ERROR] [Entrypoint]: Unable to start server 记录一次-docker-运行mysql-报错
环境说明
linux系统版本:lsb_release -a
docker 版本: docker -v
不同的操作系统以及软件版本,可能会遇到不一样的问题,一定要注意版本问题。
mysql版本:5.7
.1.问题复现。
使用命令启动mysql服务
docker run --name=mysql -it \
-p 3306:3308 \
-e MYSQL_ROOT_PASSWORD=+yig2y#H \
-e MYSQL_ROOT_HOST=% \
-v /opt/u01/exam/mysql/my.cnf:/etc/mysql/my.cnf \
-v /opt/u01/exam/mysql/logs:/var/log/mysql \
-v /opt/u01/exam/mysql/data:/var/lib/mysql \
-d 5107333e08a8
大概在11s后mysql服务自动退出。
查看docker日志如下
配置文件信息如下
问题分析:启动之前,自己将挂载到mysql容器中的data目录全部清空,因为自己想运行一个全新的mysql服务。
尝试多次可以复现该问题,配置文件中设置一次密码,启动服务时在设置一次密码,
每次启动前先删除data目录,然后启动,运行时就会出问题。
解决办法一:自己尝试着去谷歌里面查看各种博客,最终都没有搞定,最后的解决办法重新启动服务即可。
注意:使用这种方式启动Mysql服务后,密码需要重新设置。
解决办法二:去除掉配置文件中的密码设置,改为使用启动命令设置密码。
再次测试的时候,发现mysql服务运行正常,使用第二种方式也不在需要重新启动mysql。
注意事项:在初始化启动mysql的时候,必须使用命令来设置mysql初始化密码,否则就会报如下的初始化密码错误。
因此使用docker启动mysql服务时,初始密码不能放在配置文件中进行设置。