我正在尝试使用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();
}
});
我确信我正在做一些非常明显错误的事情,但我早上大部分时间都在盯着它看,但我看不出哪里出了问题。
我得到的唯一线索是,如果我将用户密码设置为空(在数据库和代码中),那么它会非常顺利地连接。
如有任何建议,我们将不胜感激。
最佳答案
取出数据库:sample_db
是否有效?连接后,您可以执行dbConnection.query('use sample_db');
。我想知道它是否不起作用,因为这些是或不是 root 权限,并且在特定数据库上该用户不存在。
您不需要包含端口,因为它默认为 3306。
关于mysql - node-mysql 无法使用密码连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22199924/