提问者:小点点

拒绝docker访问的MySQL


我需要在Docker上使用MySQL。 我所遵循的步骤:

  1. 已安装Docker
  2. 拉出MySQL docker映像
  3. 运行MySQL docker容器
  4. 已安装MySQL客户端。

但当我运行这个

sudo docker exec -it mysql8 MySQL -uroot -p

它要求输入密码,我输入密码,它给我以下信息:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password : Yes)

我该如何解决这个问题?我遗漏了什么? 我在这里遵循了教程:https://www.techrepublic.com/article/how-to-deploy-and-use-a-mysql-docker-container/


共2个答案

匿名用户

您所遵循的文章已被out,并且还在运行容器,当在容器中工作时,更改密码不是正确的方式。 在官方图像中,您可以使用环境变量进行设置。

使用下面的命令,您可以在Mysql Docker Hub上找到更多详细信息。

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=mypass -d mysql

然后尝试连接

docker exec -it some-mysql bash -c "mysql -u root -pmypass"

匿名用户

找到答案了。 我得跑了

docker logs <container_name>

它提供了一个生成的密码,当提示输入密码时,我们必须使用该密码。

之后,我们可以通过以下方式更改密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';