2012-01-11 40 views
9

Tôi có đoạn code sau trong một file js:kết nối ECONNREFUSED - js nút, 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; 
    } 
}); 

Nhưng tôi nhận được lỗi này:

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) 

Theo tôi được biết, đây là một vấn đề kết nối - nhưng làm thế nào để giải quyết nó?

(Tôi đang làm việc trên các cửa sổ 7)

Cảm ơn !!

+0

Có vẻ như vì một lý do trang cho rằng cơ sở dữ liệu là lên và chạy. Nó đang hoạt động trên máy chủ cục bộ, phải không? –

+4

câu hỏi rõ ràng: là mysql chạy trên cùng một máy, trên cổng 3306? bạn có thể 'telnet localhost 3306'? – seppo0010

+0

khi tôi viết bằng CMD dòng telnet localhost 3306 Tôi nhận được: 'telnet' không được công nhận là lệnh nội bộ hoặc bên ngoài, chương trình hoặc tệp lô. Ý bạn là gì? – kakush

Trả lời

17

Tôi biết hai cách để giải quyết nó:

  1. Trong mysql.conf, bình luận skip-networking.

  2. Cố gắng thiết lập các ổ cắm như thế này:

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

Cảm ơn @limon, phím '_socket' đã phân loại tôi! –

+1

Cảm ơn, bình luận bỏ qua mạng làm việc cho tôi, nhưng chìa khóa không, đó là lạ. Về sản xuất tôi không muốn có tùy chọn đó nhận xét! – nak

+3

+1 # bỏ qua mạng –

Các vấn đề liên quan