我已经运行了这些命令:
docker run --name mysql-standalone -e
MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=test -e MYSQL_USER=sa -e MYSQL_PASSWORD=password -d mysql:5.6然后
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
35da304532c8 mysql:5.6 "docker-entrypoint.s…" 4 hours ago Up 4 hours 3306/tcp mysql-standalone
docker exec -it mysql-standalone bash
root@35da304532c8:/# mysql -uroot -p -A
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.6.51 MySQL Community Server (GPL)
Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>但是,当我试图通过海狸连接时,我得到了这样的东西。

我哪里做错了?
发布于 2021-07-05 16:21:25
停止现有的mysql容器,并使用以下方法删除它:
docker stop <container id>
docker rm <container id>然后使用端口映射再次运行容器。使用-p 3306:3306将容器端口映射到主机端口。
完整的命令如下:
docker run --name mysql-standalone -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=test -e MYSQL_USER=sa -e MYSQL_PASSWORD=password -p 3306:3306 -d mysql:5.6这一次,海狸连接应该可以工作。
解释
mysql服务器正在码头容器内的端口3306中运行。这个端口是容器内的,而不是主机。Dbeaver不知道这个容器,它试图连接到您的主机(您的笔记本/pc)端口。使用-p 3306:3306,您可以将容器端口映射到计算机端口。
https://stackoverflow.com/questions/68258754
复制相似问题