首页 > 解决方案 > 错误:尝试使用正确凭据连接到远程数据库时出现 getaddrinfo ENOTFOUND

问题描述

我想连接到我的数据库。我使用带有 mysql 数据库的 node.js 服务器。本地主机可以工作,但是当我尝试连接到我的数据库时出现此错误:getaddrinfo ENOTFOUND

const pool = mysql.createPool({
  connectionLimit: 10,
  password: "****",
  user: "***",
  host: "***",
  port: "3306",
  database: "***",
});

正如我所说 - 使用 localhsot 设置它可以工作,但是当我用我的 ionos 凭据填写它时它不会工作

标签: mysqlnode.jsweb-services

解决方案


您在上面的评论中提到您的数据库由 IONOS 托管,并且您的代码从那里在外部运行。

不幸的是,IONOS 似乎阻止了从外部来源与其数据库产品的连接。Heroku 绝对是一个外部资源。这一事实清楚地记录在他们的帮助网站上

无法从您的台式计算机或任何其他非 IONOS 源访问您的 IONOS MySQL 数据库:

原则上,您只能通过安装在您的 IONOS 网络空间上的应用程序访问您的 MySQL 数据库,例如您自己安装的 WordPress。出于安全原因,其他访问路径已被阻止。

他们实现此限制的方式可能是不为他们的数据库发布公共 DNS 记录,这就是为什么您的代码抱怨无法为其解析地址的原因。

如果没有特殊安排,此供应商无法满足您的要求。如果这是绝对要求,您应该寻找替代数据库主机。


推荐阅读