我想连接我的数据库。Im使用带有mysql数据库的node.js服务器。Localhost可以工作,但当我尝试连接到数据库时,会出现以下错误:getaddrinfo ENOTFOUND
const pool = mysql.createPool({
connectionLimit: 10,
password: "****",
user: "***",
host: "***",
port: "3306",
database: "***",
});
正如我所说的-在localhsot设置下,它可以工作,但当我用ionos凭据填写时,它就不工作了
您在上面的注释中提到,您的数据库由IONOS托管,您的代码从那里外部运行。
不幸的是,IONOS似乎阻止了从外部源到其数据库产品的连接。Heroku绝对是一个外部来源。这一事实在他们的帮助站点上有明确的记录:
无法从台式计算机或任何其他非IONOS源访问IONOS MySQL数据库:
原则上,您只能通过安装在IONOS web空间上的应用程序访问MySQL数据库,例如使用您自己的WordPress安装。由于安全原因,其他访问路径已被阻止。
他们实现这一限制的方式可能是不为其数据库发布公共DNS记录,这就是为什么您的代码抱怨无法为其解析地址的原因。
如果没有特殊的安排,您所要求的是不可能的。如果这是一个绝对的要求,您应该寻找一个替代的数据库主机。