Używam strony serwera Node.js. Próbowałem mój kod na localhost i wszystko działa dobrze. Kupiłem serwer i zainstalowałem na nim Apache i node.js i przetestowałem tam moją aplikację internetową. Poprawnie zmieniłem konfiguracje połączeń MySQL z localhost na konfiguracje serwera.Node.js MySQL - Błąd: podłącz ECONNREFUSED
przetestować aplikację internetową z tej konfiguracji:
var mysql = require('mysql');
var mysqlConnection;
function new_mysqlConnection() {
mysqlConnection = mysql.createConnection({
host : 'myurl.at',
user : 'myusername',
database : 'mydatabase',
password : 'mypassword'
});
}
mogę uruchomić serwer node.js z:
$ node server.js
Kiedy załadować stronę, to wyświetlane prawidłowo, ale gdy węzeł. js spróbuj połączyć się z bazą danych Zawsze mam następujący błąd:
Error: connect ECONNREFUSED
at errnoException (net.js:905:11)
at Object.afterConnect [as oncomplete] (net.js:896:19)
--------------------
at Protocol._enqueue (/var/www/node_modules/mysql/lib/protocol/Protocol.js:135:48)
at Protocol.handshake (/var/www/node_modules/mysql/lib/protocol/Protocol.js:52:41)
at Connection.connect (/var/www/node_modules/mysql/lib/Connection.js:119:18)
at reconnectDb (/var/www/server.js:319:18)
at app.get.email (/var/www/server.js:109:2)
at Layer.handle [as handle_request] (/var/www/node_modules/express/lib/router/layer.js:82:5)
at trim_prefix (/var/www/node_modules/express/lib/router/index.js:302:13)
at /var/www/node_modules/express/lib/router/index.js:270:7
at Function.proto.process_params (/var/www/node_modules/express/lib/router/index.js:321:12)
at next (/var/www/node_modules/express/lib/router/index.js:261:10)
Host jest nieprawidłowy lub musisz podać numer portu. Jakiego portu używa twój mysqld? Po tym rozwiązaniu kolejną możliwością jest zablokowanie portów na hoście. Jakiego rodzaju sieć łączysz? Zazwyczaj łączymy się za pośrednictwem lokalnego hosta lub sieci wewnętrznej, a nie internetu. – beiller
@beiller Najpierw dziękuję za szybką odpowiedź. Próbowałem już z ustawieniem portu w konfiguracji, ale też nie działało. Mysql działa na tym porcie: 'tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 4322/mysqld' Mój server.js działa na porcie 2000, jeśli oba działają na tym samym porcie? Co masz na myśli mówiąc "z jakiego rodzaju sieci łączysz się?" Tank you! – Nico
Nie nie działają one na tym samym porcie. Twój komunikat o błędzie oznacza w zasadzie "twoje połączenie zostało odrzucone przez system operacyjny" IE nigdy nie zbliżyłeś się do dotknięcia serwera mysql. Pytając, jakiej sieci, pytam, jest mysql i twój węzeł.js aplikacja działająca na tym samym serwerze fizycznym? – beiller