2015-10-01 57 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

可悲的是同样的错误:( –