我正在尝试使用mysql
库连接到mysql服务器。我使用了以下代码:
const mysql = require('mysql');
const connection = mysql.createConnection({
host : 'mysql.panamath.org',
user : <username>,
password : <password>,
database : <database>
});
connection.connect(err => {
if (err) return console.log(err);
console.log("Success connecting to database");
});
当我访问mysql.panamath.org
时,我被重定向到here,在那里我的凭据可以正常工作。但是,当我运行此连接时,出现此错误:
Error: ER_ACCESS_DENIED_ERROR: Access denied for user <username>@'129-2-181-10.wireless.umd.edu' (using password: YES)
code: 'ER_ACCESS_DENIED_ERROR',
errno: 1045,
sqlMessage: "Access denied for user <username>@'129-2-181-10.wireless.umd.edu' (using password: YES)",
sqlState: '28000',
fatal: true
它似乎正在连接到'129-2-181-10.wireless.umd.edu'
。有趣的是,当我通过heroku进行部署时,除了试图连接到'ec2-3-89-96-69.compute-1.amazonaws.com'
之外,都是相同的错误。我也尝试通过终端连接:
$ mysql -h mysql.panamath.org -u <username> -p
Enter password:
ERROR 1045 (28000): Access denied for user ...
具有相同的结果。
这是怎么回事?为什么我可以通过网站连接而不能通过代码连接?是否存在用于连接到phpMyAdmin站点的另一个模块或功能,或者phpMyAdmin站点是否以某种方式连接到服务器?
答案 0 :(得分:2)
MySQL关心您从哪里连接。
可能允许username @ the-server-hosting-phpmyadmin连接,而不允许username@129-2-181-10.wireless.umd.edu。
请咨询数据库管理员。