我正在尝试使用NodeJS连接到MySQL。这是我用于连接的代码:
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "user",
password: "pass"
});
con.connect(function(err) {
if (err){
console.error('error connectiong'+ err.stack);
return;
}
console.log('Connected as Id' + connection.threadId);
});
非常简单,应该可以,但是不能。我尝试了以下方法来解决此问题,但没有运气:
但是我仍然收到相同的消息:
我不明白为什么我无法连接。我检查了类似这样的其他问题,尝试了一些解决方案,但它们没有起作用。有任何想法吗? 谢谢。
答案 0 :(得分:2)
错误消息指出:用户'nebojsa82'@'localhost'
的访问被拒绝。这意味着该用户没有特权或该用户的密码不正确。
如果我是你,我会尝试这样做:
mysql -h localhost -u nebojsa82 -p
然后输入密码,看看是否可以连接。我非常确定您将无法连接,并且会出现相同的拒绝访问错误。
请确保您所使用的用户还具有所需数据库的至少READ特权。
如果您具有mysql根访问权限,则可以执行以下操作:
mysql> create database test;
mysql> create user 'test'@'localhost' identified by 'test123';
mysql> grant all on test.* to 'test'@'localhost';
mysql> flush privileges;
这将创建一个空数据库 test ,一个mysql用户 test ,其密码为 test123 ,并且该用户具有的全部权限测试数据库。然后,请牢记这些细节,尝试使用上面提到的nodejs代码进行连接。