Java 无法从本地计算机连接到服务器上运行的mysql docker(错误10061)-工作台
所以我有一个生产服务器,我想用Mysql工作台连接到它 当我启动应用程序时,一切都正常运行,所以我可以通过服务器的IP和凭据连接到它 我的docker compose如下所示:Java 无法从本地计算机连接到服务器上运行的mysql docker(错误10061)-工作台,java,mysql,spring,docker,docker-compose,Java,Mysql,Spring,Docker,Docker Compose,所以我有一个生产服务器,我想用Mysql工作台连接到它 当我启动应用程序时,一切都正常运行,所以我可以通过服务器的IP和凭据连接到它 我的docker compose如下所示: ... workaround-mysql: container_name: workaround-mysql image: mysql environment: MYSQL_DATABASE: workaround MYSQ
...
workaround-mysql:
container_name: workaround-mysql
image: mysql
environment:
MYSQL_DATABASE: workaround
MYSQL_USER: someuser
MYSQL_PASSWORD: somepass
MYSQL_ROOT_PASSWORD: somepassss
MYSQL_ROOT_HOST: %
ports:
- "3308:3306"
restart: always
....
因此,在我的prod机器上,我运行spring应用程序、mysql和nginx。
当我尝试通过workbench连接时,我得到的错误是:
错误10061
我不明白我做错了什么。我在做本地测试时没有遇到任何问题。工作台运转良好
我还需要做一些额外的设置吗?我可以通过docker compose进行这些必要的设置吗?
在我的防火墙上,我已将accept连接设置为mysql端口:
哦,还有一点需要注意的是:当我在工作台上按下connect时,我正确地得到了这个错误,我甚至没有输入密码的提示
和docker为mysql部件编写输出:
也许这只是一个输入错误,但您将3308作为端口放在docker compose文件中。因此,要么将其修复为3306,要么在连接时使用3308。尝试了这两种方法,要么得到10060,要么得到10061。Bud在3306的情况下是10061,在3308的情况下是llike超时,这需要很长时间,然后你得到错误10060你是否也在端口3308上打开了防火墙?也许先用telnet或nmap检查与这些端口的连接以确定。我将打开3308并尝试,我还将尝试在更新的应答中显示nmap输出是的,您现在为我节省了一些时间,非常感谢,我没有想到这会是防火墙端口问题。真棒,使用3308打开端口并重新启动服务器,现在我设法登录。你是野兽。很高兴我能帮上忙。有时是一些小事。但是,如果您以前在docker compose文件中有端口3306,并且在防火墙中打开端口,那么也应该使用端口3306。看起来我没有从本地计算机访问以某种方式连接到thsi服务器的权限,我需要设置一些可以为我的用户执行的操作,目前不知道是什么。