gpt4 book ai didi

mysql - 在个人项目中使用mysql NPM模块时出现ER_ACCESS_DENIED_ERROR

转载 作者:行者123 更新时间:2023-11-29 21:15:23 25 4
gpt4 key购买 nike

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

Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'user'@'localhost' (using password: YES)

用户名是正确的,密码也是正确的 - 我已经使用该组合登录到 mysql 命令行界面。用户成功登录并可以在 Node 程序中断的同一个表上进行查询而不会出错,这让我想知道为什么会出现这样的错误。

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

背景:该程序是一个学生帮助请求队列,目的是为学生建立一种数字“队列”,以便老师可以知道谁等待时间最长以及如何确定需要帮助的人的优先顺序。我编写它是为了我的计算机科学老师使用,同时也是我自己的一个有趣的项目。

该项目使用 Socket.IO、felixge 的 node-mysql 和 kriszyp 的 Promise-io。 Socket的作用是允许帮助请求实时发送到老师/助教的计算机上,并允许它们立即从所有计算机上删除(助教解决了请求1,它从老师的计算机上消失,这样他/她就不会尝试帮助受过帮助的学生)。 MySQL 插件允许与 MySQL 数据库连接以保存请求 - 我知道这不是最快的,但这是我的托管提供商允许我使用的。最后,Promised-IO 用于 promise ,这​​些 promise 被传递,以便在查询结果发出后更容易处理它们。这也是我将请求简单存储在内存中并将密码哈希存储在文本文件中时留下的痕迹。现在我想让 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'");
}
);
}
);

链接:我正在尝试一些新的方法来尝试解决此问题,并将存储库暂时设为私有(private)。当我完成后,它们将再次公开,我将用结果更新这个问题。 -https://github.com/Shadow53/student-queue -https://github.com/Shadow53/student-queue-mysql-plugin

感谢任何帮助!

最佳答案

密码错误。

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

谢什。

我已修复此问题作为 the commit 的一部分在过渡到 mariasql 时所做的(我之前尝试过的事情)。据我所知,现在一切正常。

关于mysql - 在个人项目中使用mysql NPM模块时出现ER_ACCESS_DENIED_ERROR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36001008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com