我有一個本地運行的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彈出的原因?當然,現在沒有在那裏列出,我不認爲我會期待它。 –