2012-01-11 19 views
9

tengo el siguiente código en un archivo JS:conectar ECONNREFUSED - JS nodo, sql

var mysql = require('mysql'); 
var TEST_DATABASE = 'nodejs_mysql_test'; 
var TEST_TABLE = 'test'; 
var client = mysql.createClient({ 
    user: 'root', 
    password: 'root', 
}); 

client.query('CREATE DATABASE '+TEST_DATABASE, function(err) { 
    if (err && err.number != mysql.ERROR_DB_CREATE_EXISTS) { 
    throw err; 
    } 
}); 

Pero me sale este error:

node.js:201 
     throw e; // process.nextTick error, or 'error' event on first tick 
     ^
Error: connect ECONNREFUSED 
    at errnoException (net.js:632:11) 
    at Object.afterConnect [as oncomplete] (net.js:623:18) 

Según tengo entendido, este es un problema de conexión, pero ¿cómo lo resuelvo?

(Estoy trabajando en Windows 7)

Gracias !!

+0

Parecería que por alguna razón la página cree la base de datos está en marcha y funcionando. Está funcionando en localhost, ¿verdad? –

+4

pregunta obvia: ¿mysql se está ejecutando en la misma máquina, en el puerto 3306? ¿puedes 'telnet localhost 3306'? – seppo0010

+0

cuando escribo en CMD la línea telnet localhost 3306 obtengo: 'telnet' no se reconoce como un comando interno o externo, programa operable o archivo por lotes. ¿Es eso lo que quieres decir? – kakush

Respuesta

17

sé dos formas de resolverlo:

  1. En mysql.conf, comentar skip-networking.

  2. intenta establecer el zócalo de la siguiente manera:

    var client = mysql.createClient({ 
    user: uuuu, 
    password: pppp, 
    host: '127.0.0.1', 
    port: '3306', 
    _socket: '/var/run/mysqld/mysqld.sock',}); 
    
+0

¡Gracias @limon, la clave '_socket' me solucionó! –

+1

Gracias, comentar que skip-networking funcionó para mí, pero la clave no, eso es extraño. ¡En la producción prefiero no comentar esa opción! – nak

+3

+1 # skip-networking –

Cuestiones relacionadas