无法以编程方式连接到mysql服务器

时间:2019-07-10 15:14:45

标签: javascript mysql phpmyadmin mysqljs

我正在尝试使用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站点是否以某种方式连接到服务器?

1 个答案:

答案 0 :(得分:2)

MySQL关心您从哪里连接。

可能允许username @ the-server-hosting-phpmyadmin连接,而不允许username@129-2-181-10.wireless.umd.edu。

请咨询数据库管理员。