无法使用NodeJS建立与MySQL的连接

时间:2018-08-26 09:58:42

标签: mysql node.js

我正在尝试使用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);

});

非常简单,应该可以,但是不能。我尝试了以下方法来解决此问题,但没有运气:

  • 我在没有帮助的情况下进入了港口:3306;
  • 删除密码,并保留密码:''空,但没有结果
  • 在所有其他特权之上添加了GRANT特权给用户
  • 更改后重置XAMPP

但是我仍然收到相同的消息:

The image with the error

我不明白为什么我无法连接。我检查了类似这样的其他问题,尝试了一些解决方案,但它们没有起作用。有任何想法吗? 谢谢。

1 个答案:

答案 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代码进行连接。