我正在尝试运行一个简单的节点示例来访问mysql数据库并收到以下错误 – 错误:ER_ACCESS_DENIED_ERROR:访问被拒绝用户’root’@’ubuntu.local'(使用密码:是)
var mysql = require('mysql');
var connection = mysql.createConnection({
host : '192.168.0.12',user : 'root',password : 'password',database : 'app'
});
connection.connect();
connection.query('SELECT * from users',function(err,rows,fields) {
if (err) throw err;
console.log('The solution is: ',rows[0]);
});
connection.end();
以上是使用node.js访问mysql的代码.有关我可能做错的建议,提前感谢.
最佳答案
我有一个类似的问题,我得到了同样的错误.
我的答案最终是因为我使用的是另一个端口.默认情况下,mysql需要一个3306的端口,但我使用的是MAMP,其中MySQL服务器端口被指定为8889.一旦我将数据库连接添加到端口定义,就可以了:
var connection = mysql.createConnection({
port: 8889,user: 'root',database : 'my_database'
});
注意:这适用于使用MAMP的Mac,没有在ubuntu或Windows上尝试过.