【问题标题】:Docker container can't connect to its mysql server (ACCESS DENIED)Docker 容器无法连接到它的 mysql 服务器(访问被拒绝)
【发布时间】:2019-12-18 08:51:56
【问题描述】:

我创建了一个 docker 容器及其 ​​mysql 服务器,如下所示:

docker run -d\
    --name mysql-server
    --restart on-failure\
    -e MYSQL_ROOT_PASSWORD=1234\
    -e MYSQL_DATABASE=users\
    -v volume1:/var/lib/mysql\
    mysql:latest --default-authentication-plugin=mysql_native_password

但是当我尝试登录时,我收到拒绝访问错误。这是我尝试登录 mysql 服务器的方式:

docker exec -it spawning-pool mysql -uroot -p

这是我得到的回复:

Enter password: (I put 1234 here)
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

docker ps -a 显示:

6909b7003519        mysql:latest        "docker-entrypoint.s…"   38 minutes ago      Up 38 
    minutes            3306/tcp, 33060/tcp    mysql-server

docker exec mysql-server 环境显示:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    HOSTNAME=6909b7003519
    MYSQL_ROOT_PASSWORD=1234
    MYSQL_DATABASE=users
    GOSU_VERSION=1.7
    MYSQL_MAJOR=8.0
    MYSQL_VERSION=8.0.18-1debian9
    HOME=/root

我尝试过更改 mysql 版本,但没有成功。获取随机密码有效,我不知道为什么。我也不能使用随机密码,因为这是一个学校项目,我必须遵循一些指导方针。我已经为此花费了数小时,我们将不胜感激。

【问题讨论】:

  • 好像你已经更改密码并以相同的音量运行命令,试试docker volume rm volume1 && docker run -it --rm -v volume1:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=12345 -e MYSQL_DATABASE=users mysql:latest --default-authentication-plugin=mysql_native_password
  • 在运行之前删除卷。谢谢! @Adiii

标签: mysql docker dockerfile docker-machine


【解决方案1】:

似乎您必须更改密码并使用现有卷运行命令,因此不会将新密码设置为 Docker MySQL 映像的默认行为。

你有两个选择

  • 尝试删除卷并运行容器
docker volume rm volume1 && docker run -it --rm -v volume1:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=12345 -e MYSQL_DATABASE=users mysql:latest --default-authentication-plugin=mysql_native_password
  • 尝试使用在创建卷时设置的旧密码运行

【讨论】:

    【解决方案2】:

    登录到您的 docker 机器并检查 mysql 服务器是否正在运行。 我有类似的问题。在我的情况下,MySQL 服务器在容器运行后启动。 帮助:

    ENTRYPOINT service mysql start && /bin/bash
    

    Here 是具有两个服务器的完整工作示例:两个不同容器上的 apache 和 mysql

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-12
      • 2021-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多