【发布时间】:2017-02-02 14:51:15
【问题描述】:
我正在尝试连接到我在我的域中拥有的数据库。我创建了一个名为 public_guests 的用户,它可以访问这个数据库。
我正在使用 NodeJS 创建连接,但出现以下错误。
ER_ACCESS_DENIED_ERROR:用户访问被拒绝
错误后面是我的 IP 地址等
这是我的代码:
mysql = require("mysql");
var connection = mysql.createConnection({
host: "humadshah.com",
username: "public_guests",
password:"hello",
databse:"my_quotes"
});
connection.connect(function(error){
if(error){
console.log("Couldn't connect :( Error: " + error);
} else {
console.log("Connected successfully~!");
}
});
我之前从未使用过数据库,所以我认为这是一个非常愚蠢的错误。
【问题讨论】:
-
我会为在一个小时内解决这个问题的人买一瓶啤酒
-
您的代码无关紧要。您的密码错误,您的用户不允许使用该 IP,或其他原因。此外,您的 MySQL 主机对整个世界开放以进行连接。这不是很好的做法。虽然您确实需要适当的凭据才能进入,但总有一天会发现一个新的 MySQL 漏洞。除非您必须这样做,否则不要如此广泛地打开它。最后,如果这是你的第一个数据库,我可以推荐 PostgreSQL 吗?最新版本的 Postgres 支持文档样式存储以及列式存储,并具有许多其他不错的功能。
-
@Drew 看起来他们正在使用 GoDaddy。 GoDaddy 将默认密码设置为随机密码,因此可能需要一个多小时。 ;-)