服务器重新启动后docker容器内的mysql无法启动的原因及解决方法

今天手贱地把自己的服务器重启了一下,然后照着流程,启动docker服务,然后重启mysql容器。
但是在我重启容器了之后却发现,使用docker ps命令后,并没有我刚刚重启的Mysql容器。
使用docker ps -a命令查看,可以看到Mysql容器几秒前退出了。也就是说,这个容器启动失败了。
然后我就使用docker logs [container ID]命令查看这个容器的运行日志,发现:提示了这么一条错误:

Access denied for user 'root'@'localhost' (using password: YES)

也就是说,这个docker容器的数据库默认密码错了。
然后我突然想起来,在我创建这个数据库docker容器的时候,确实有把数据库localhost的root密码修改过,但是同时没有修改这个容器的默认配置。
这就是为什么docker restart [container ID]命令无法重新启动mysql容器的原因了。(当然还有其他各种的原因,但大多都是配置方面的错误)

解决方法:

cd 到 /var/lib/docker/containers/目录下,这个目录就是docker容器的目录。
对于每一个容器,都有一个唯一的容器ID,我的是c9e55df1b121,然后我就可以在containers目录下找到以这个ID开头的文件夹:c9e55df1b121377fea6fc1b1cd6e79443d1b97aab50dc013dfa27b1002e76e14
进入这个目录,就可以看到有一个config.v2.json文件,这个文件就是该容器的配置文件。
打开这个文件就会看到以json形式存储的配置信息,然后在其中找到:MYSQL_ROOT_PASSWORD,这个密码应该就是老密码了。将这个老密码修改为正确的密码,保存即可。
注意:保存时,一定要确保docker没有在运行,即使用systemctl stop docker命令将docker关闭,否则保存后,docker仍然会依照老密码启动容器,容器仍然不能启动。

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
1. 安装Docker 首先需要安装 Docker,可以参考阿里云官方文档进行安装。 2. 下载Nacos镜像 使用以下命令从 Docker Hub 下载 Nacos 镜像。 docker pull nacos/nacos-server 3. 启动Nacos容器 使用以下命令启动 Nacos 容器docker run --name nacos -e MODE=standalone -p 8848:8848 -d nacos/nacos-server 这里使用了 -p 参数来将 Nacos 的默认端口 8848 映射到宿主机的 8848 端口上。 4. 配置MySQL启动 Nacos 容器后,需要进行 MySQL 数据库的配置。可以使用以下命令进入容器内部。 docker exec -it nacos /bin/sh 然后进入 conf 目录,使用 vi 命令编辑 application.properties 文件。 cd /home/nacos/nacos-server/conf vi application.properties 找到以下配置项,将其注释掉。 #spring.datasource.platform=mysql #db.num=1 #db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true #db.user=root #db.password=root 在这些配置项的下方添加以下配置,将 MySQL 数据库的地址、用户名和密码替换为实际的值。 spring.datasource.platform=mysql db.num=1 db.url.0=jdbc:mysql://<MySQL地址>:<MySQL端口>/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true db.user=<MySQL用户名> db.password=<MySQL密码> 配置完成后,保存并退出编辑器。 5. 重启Nacos容器 使用以下命令重启 Nacos 容器,使配置生效。 docker restart nacos Nacos 容器重新启动后,会自动将配置写入 MySQL 数据库。 至此,Nacos 单机启动并配置 MySQL 完成。可以访问 http://localhost:8848/nacos/ 进行验证。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值