2015-10-01 84 views
0

我對Node js是完全新的,並且想要開始我的第一個項目以適應它。我正在使用多餘的框架。無法讓mysql模塊與節點js一起工作

我發現了一些很好的mysql模塊,它很容易下載和安裝。該模塊已正確放置在模塊文件夾中。

我試圖把它叫我app.js文件這樣的:

... 
var mysql = require('mysql'); 
... 
var connection = mysql.createConnection({ 
    host  : 'localhost', 
    user  : 'root', 
    password : '27sparks&&55', 
    database : 'react' 
}); 
connection.connect(); 
app.locals.mysql = connection; 

connection.query('SELECT * FROM comment', function(err, rows, fields) { 
    if (err) throw err; 
    console.log(rows); 
}); 

connection.end(); 

當我嘗試運行在該命令的/ bin目錄中的WWW:node www,開始我的本地項目我現在得到在終端出現以下錯誤:

/Applications/XAMPP/xamppfiles/htdocs/nodeschool/learn/app.js:79 if(err)throw err; ^

Error: connect ECONNREFUSED 127.0.0.1:3306 
    at Object.exports._errnoException (util.js:837:11) 
    at exports._exceptionWithHostPort (util.js:860:20) 
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1060:14) 
    -------------------- 
    at Protocol._enqueue (/Applications/XAMPP/xamppfiles/htdocs/nodeschool/learn/node_modules/mysql/lib/protocol/Protocol.js:135:48) 
    at Protocol.handshake (/Applications/XAMPP/xamppfiles/htdocs/nodeschool/learn/node_modules/mysql/lib/protocol/Protocol.js:52:41) 
    at Connection.connect (/Applications/XAMPP/xamppfiles/htdocs/nodeschool/learn/node_modules/mysql/lib/Connection.js:123:18) 
    at Object.<anonymous> (/Applications/XAMPP/xamppfiles/htdocs/nodeschool/learn/app.js:75:12) 
    at Module._compile (module.js:434:26) 
    at Object.Module._extensions..js (module.js:452:10) 
    at Module.load (module.js:355:32) 
    at Function.Module._load (module.js:310:12) 
    at Module.require (module.js:365:17) 
    at require (module.js:384:17) 

回答

0

嘗試從連接線(代碼取自獲得反饋here):

var mysql  = require('mysql'); 
var connection = mysql.createConnection({ 
    host  : 'example.org', 
    user  : 'bob', 
    password : 'secret' 
}); 

connection.connect(function(err) { 
    if (err) { 
    console.error('error connecting: ' + err.stack); 
    return; 
    } 

    console.log('connected as id ' + connection.threadId); 
}); 

另外,嘗試設置端口到3306手動,即使它默認爲它。

值得問的愚蠢問題:你的MySQL實例是否正常運行?它在收聽良好的端口嗎?密碼是否正確?

+0

是啊它的起來和運行^^ –

+0

我試過你的代碼,並得到與以前一樣的錯誤:) –

0

你可能試圖連接到錯誤的插槽
添加socketPath您創建的連接選項對象這樣

var connection = mysql.createConnection({ 
    host  : 'localhost', 
    user  : 'root', 
    password : '27sparks&&55', 
    database : 'react', 
    socketPath : 'path/to/your/mysqlsocket' // /*example: /var/run/mysqld/mysqld.sock on ubuntu*/ 
}); 
+0

如何找到套接字路徑? 我正在Xampp上運行mysql –

+0

嘗試/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock – Enjoyted

+0

可悲的是同樣的錯誤:( –