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

Cannot connect to mysql server programmatically

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

MySQL 关心您从哪里连接。

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

咨询数据库管理员。