我有一个本地运行的MySQL服务器..它不在一个容器内。我的应用程序将打到RDS,所以没有意义走这条路线。作为测试,我的应用程序能够达到RDS没有问题。但显然我想为本地发展创造一些本地的东西。为什么我从Docker节点应用程序获取ECONNREFUSED连接到localhost MySQL?
从我的终端我可以做mysql --user=root --password=password mydb
成功。
而且我没有收到超时错误,从我的容器我可以ping 127.0.0.1:3306
没有问题。
我也使用控制台看到我肯定会传递正确的信息,更新了从RDS到本地运行MySQL的值。
一般来说,你不使用'ping'在指定的端口因为'ping'将使用ICMP数据包。你有没有证实,MySQL服务器正在使用类似'netstat -nlp'的方式监听预期的地址和端口? – mscdex
或者,如果mysql服务器正在侦听UNIX套接字,则可以使用'mysql'或'mysql2'模块的'socketPath'连接配置选项,而不是从节点连接到该套接字。 – mscdex
@mscdex就netstat而言,如果我的应用程序没有试图保持打开的连接,是否有我会看到3306弹出的原因?当然,现在没有在那里列出,我不认为我会期待它。 –