node-mysql不会连接密码

时间:2014-03-05 14:01:11

标签: mysql node.js node-mysql

我正在尝试使用node-mysql连接到本地MySQL服务器,但收效甚微。

每次尝试连接时,都会收到ER_ACCESS_DENIED_ERROR。我已经验证我可以使用命令行和下面的凭据连接到MySQL服务器,该服务器正在运行,并且端口是正确的。

我的代码如下:

var mysql = require('mysql');

var dbConnection = mysql.createConnection( {
        user: 'node_user',
        password: 'password',
        database: 'sample_db',
        host: 'localhost',
        port: 3306
        } );

dbConnection.connect(function(err) {
        if(err) {
                console.log('Can\'t connect');
                console.dir(err);
        } else {
                console.log('Connection success.');
                dbConnection.end();
        }
});

我确信我做的事情显然是错误的,但我早上大部分时间都在盯着它,我看不出有什么不对。

我得到的唯一线索是,如果我将用户的密码设置为空白(在数据库和代码中),那么它很愉快地连接。

非常感谢任何建议。

2 个答案:

答案 0 :(得分:0)

如果你取出database: sample_db,它会起作用吗?连接后,您可以dbConnection.query('use sample_db');。我想知道它是否可行,因为它们是或者不是root priveledges,并且在特定的数据库上,用户不存在。

您不需要包含端口,因为它默认为3306。

答案 1 :(得分:0)

本教程看起来不像您的代码:

http://markshust.com/2013/11/07/creating-nodejs-server-client-socket-io-mysql

连接在哪里?

以他的方式尝试,看看是否会排除你。