在个人项目中使用mysql NPM模块时出错

在个人项目中使用mysql NPM模块时出错,mysql,node.js,sockets,promise,open-source,Mysql,Node.js,Sockets,Promise,Open Source,问题:我有一个Node.js程序,在尝试访问数据库信息时出现以下错误: Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'user'@'localhost' (using password: YES) 用户名是正确的,密码也是正确的——我已经使用这个组合登录到mysql命令行界面。用户可以成功登录,并且可以在节点程序打开时在同一个表上进行查询,而不会出错,这让我想知道为什么会出现这样的错误 问题末尾有代码链接,以及如何使用代码。 背景

问题:我有一个Node.js程序,在尝试访问数据库信息时出现以下错误:

Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'user'@'localhost' (using password: YES)
用户名是正确的,密码也是正确的——我已经使用这个组合登录到mysql命令行界面。用户可以成功登录,并且可以在节点程序打开时在同一个表上进行查询,而不会出错,这让我想知道为什么会出现这样的错误

问题末尾有代码链接,以及如何使用代码。

背景:该程序是一个学生帮助请求队列,目的是为学生提供一种数字“排队”,以便教师知道谁等待的时间最长,从而确定需要帮助的人的优先级。我写给我的计算机科学老师使用,但也作为一个有趣的项目为自己

该项目使用Socket.IO、felixge提供的节点mysql和kriszyp提供的承诺IO。Socket允许将帮助请求实时发送到教师/助手计算机,并允许立即从所有计算机中删除这些请求(助手解析请求1,请求1从教师计算机中消失,以便他/她不尝试帮助已获得帮助的学生)。MySQL插件允许与MySQL数据库接口以保存请求——我知道这不是最快的,但我的主机提供商允许我使用它。最后,承诺IO用于承诺,这些承诺被传递,以便在查询结果生成后更容易处理查询结果。这也是我将请求存储在内存中,将密码散列存储在文本文件中时的遗留问题。现在我想让MySQL工作,然后我会担心替换它

现在的代码应该允许一个实例有多个帮助队列,每个队列在domain.com/queue-name下访问。这是通过使用for循环来完成的。我也不在乎它是否正常工作,我承认我应该使用socket.io的“房间”,但提到它是因为它可能是相关的

示例代码

// Should have 'npm install'-ed student-queue before this.
var Queue = require("student-queue");

var q = new Queue({
    host: "localhost",
    database: "mydb",
    user: "user",
    password: "password"
});

q.start();
如果您正在试用该程序,则当前需要进行一些设置。需要事先创建数据库和用户/密码,然后在使用上述代码之前,应在app.js中运行此代码。直到我可以生成“设置”页面:

var DB = require("student-queue-mysql-plugin");

// These are the values that you have set up, to be used in the above snippet
var db = new DB({
    host: "localhost",
    database: "mydb",
    user: "user",
    password: "password"
});

db.createConfigTable().then(
    function(){
        db.addNewQueue({
            name: "test",
            password: "password"
        }).then(
            function(){
                console.log("You can now access the queue 'test' at localhost:3000/test using the above code. The teacher password is 'password'");
            }
        );
    }
);
链接: 我正在尝试一些新的方法来尝试和解决此问题,并已将存储库暂时私有化。完成后,它们将再次公开,我将用结果更新此问题。 - -


谢谢你的帮助

密码错误。

也就是说,密码是正确的,但由于某种原因,用户名被用作用户名和密码,因此密码是错误的

我已经修复了这个问题,这是我在向mariasql(我以前尝试过的东西)过渡时所做的工作的一部分。据我所知,现在一切正常