简体   繁体   English

无法从MySQL Workbench(Windows 10)连接到mysql容器

[英]Can't connect to mysql container from MySQL Workbench (Windows 10)

This is my 2 instances of docker images running. 这是我运行的docker镜像的2个实例。

$ docker ps

CONTAINER ID        IMAGE                             COMMAND                  CREATED             STATUS                    PORTS                               NAMES
bb51b0b63b7d        mysql/mysql-server                "/entrypoint.sh mysq…"   23 minutes ago      Up 23 minutes (healthy)   0.0.0.0:3306->3306/tcp, 33060/tcp   mami_mysql
d7593fe55546        zarraozaga/dockerize-php-sample   "/usr/sbin/apache2ct…"   About an hour ago   Up About an hour          0.0.0.0:80->80/tcp                  apache_server

Hostname: 192.168.99.100 Port: 3306 主机名: 192.168.99.100端口: 3306

Username and password are keyed in correctly. 用户名和密码正确输入。

This is the run command I executed 这是我执行的运行命令

$ docker run --name mami_mysql -e MYSQL_ROOT_PASSWORD=abc123 -e MYSQL_DATABASE=mami -p 3306:3306 -d mysql/mysql-server

Im using windows 10 home edition and am currently running docker toolbox vm. 我正在使用Windows 10家庭版,目前正在运行docker toolbox vm。

docker-machine ip 192.168.99.100 docker-机器ip 192.168.99.100

Error: 错误:

The error im receiving is Failed to connect to mysql at 192.168.88.199:3306 with user root. Host '192.168.99.1' is not allowed to connnect to mysql server. Username and password are all inputed correctly. Connection used, Standard TCP/IP

I manage to fix the issue. 我设法解决了这个问题。

I had to re-run it with this command. 我必须使用此命令重新运行它。

$ docker run -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -d mysql/mysql-server --default-authentication-plugin=mysql_native_password $ docker run -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD =是-d mysql / mysql-server --default-authentication-plugin = mysql_native_password

After doing so i had to create a new user 这样做之后,我不得不创建一个新用户

docker exec -ti a0498b91b646 mysql -uroot -p docker exec -ti a0498b91b646 mysql -uroot -p

sql> CREATE USER 'monty'@'%' IDENTIFIED BY 'secret'; sql>创建用户'monty'@'%'由'secret'标识;

Then login to mysql with username: monty password: secret 然后使用用户名:monty密码:secret登录到mysql

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM