Mysql 错误:尝试使用正确的凭据连接到远程数据库时getaddrinfo ENOTFOUND
我想连接到我的数据库。Im使用node.js服务器和mysql数据库。Localhost可以工作,但当我尝试连接到数据库时,会出现以下错误:getaddrinfo ENOTFOUNDMysql 错误:尝试使用正确的凭据连接到远程数据库时getaddrinfo ENOTFOUND,mysql,node.js,web-services,Mysql,Node.js,Web Services,我想连接到我的数据库。Im使用node.js服务器和mysql数据库。Localhost可以工作,但当我尝试连接到数据库时,会出现以下错误:getaddrinfo ENOTFOUND const pool = mysql.createPool({ connectionLimit: 10, password: "****", user: "***", host: "***", port: "3306"
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记录,这就是为什么您的代码抱怨无法解析其地址
如果没有特殊安排,您对该供应商的要求是不可能的。如果这是一个绝对要求,您应该寻找另一个数据库主机。这是否回答了您的问题?如果你能添加一些代码,那就太好了!您的数据库具体托管在哪里?您是否配置了相应的防火墙规则?@esqew我使用了ionosdatabase@ApoorvaChikara当然非常感谢。好的,谢谢你的回答!!现在我用World4You数据库试过了。这里我得到了一个“PROTOCOL\u SEQUENCE\u TIMEOUT”错误。我建议在实际选择数据库提供程序之前,先查看它们的文档。我从未听说过“World4You”,但也明确提到这是不可能的。好吧,但我该怎么办?是否有支持此问题的提供程序?有很多提供程序-您甚至可以在自己的服务器上运行自己的实例。就个人而言,我的所有数据库都是使用Microsoft的Azure SQL产品托管的。不幸的是,产品/服务建议请求与堆栈溢出无关。