我正在尝试使用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();
}
});
我确信我做的事情显然是错误的,但我早上大部分时间都在盯着它,我看不出有什么不对。
我得到的唯一线索是,如果我将用户的密码设置为空白(在数据库和代码中),那么它很愉快地连接。
非常感谢任何建议。
答案 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
连接在哪里?
以他的方式尝试,看看是否会排除你。