Ich habe einen lokal laufenden MySQL-Server .. es ist nicht in einem Container. Meine App wird RDS schlagen, also hat es keinen Sinn, diese Route zu gehen. Meine App konnte RDS problemlos als Test ausprobieren. Aber offensichtlich möchte ich etwas Lokales für die lokale Entwicklung treffen.Warum erhalte ich ECONNREFUSED, wenn ich von Docker-Knoten-App eine Verbindung zu Localhost-MySQL herstelle?
Von meinem Terminal kann ich mysql --user=root --password=password mydb
erfolgreich tun.
Und da ich keinen Timeout-Fehler bekomme, kann ich aus meinem Container ping 127.0.0.1:3306
ohne Problem.
Ich habe auch Konsole verwendet, um zu sehen, dass ich definitiv die richtigen Informationen übergebe, nachdem ich die Werte von RDS auf lokal laufendes MySQL aktualisiert habe.
Sie nicht verwenden Im Allgemeinen 'ping' mit einem bestimmt Port als "Ping" wird ICMP-Pakete verwenden. Haben Sie stattdessen verifiziert, dass der mysql-Server die beabsichtigte Adresse und den Port unter Verwendung von etwas wie "netstat -nlp" abhört? – mscdex
Wenn der mysql-Server auf einem UNIX-Socket wartet, können Sie stattdessen auch eine Verbindung zu diesem Knoten herstellen. Verwenden Sie dazu die Konfigurationsoption 'socketPath' connection mit den Modulen' mysql' oder 'mysql2'. – mscdex
@mscdex In Bezug auf Netstat, gibt es einen Grund, dass ich 3306 Pop-up sehen würde, wenn meine App nicht versucht, eine offene Verbindung zu halten? Sicher nicht dort jetzt aufgeführt und ich glaube nicht, dass ich es erwarten würde. –