首页 > 解决方案 > 无法以编程方式连接到 mysql 服务器

问题描述

我正在尝试使用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,我被重定向到这里,我的凭据工作正常。但是,当我运行此连接时,我收到此错误:

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 站点是否以某种方式连接到服务器?

标签: javascriptmysqlphpmyadminmysqljs

解决方案


MySQL 关心你从哪里连接。

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

请咨询数据库管理员。


推荐阅读