首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >errorError: getaddrinfo ENOTFOUND

errorError: getaddrinfo ENOTFOUND
EN

Stack Overflow用户
提问于 2014-08-27 07:55:01
回答 5查看 73.8K关注 0票数 18

我正在使用Node.js在c9.io上运行一个服务器,并试图连接到Mysql,我想我得到了这个错误:

错误: getaddrinfo ENOTFOUND

因为与数据库的连接是错误的。

我用这个:

代码语言:javascript
复制
var connection = mysql.createConnection({
    host: "REMOTE_ADDR",
    user: "MYUSERNAME", // this is replaced by my username
    database: "c9",
    port: 3306
});

你知道怎么回事吗?

谢谢!

EN

回答 5

Stack Overflow用户

发布于 2016-03-20 21:28:00

一个小时后,我不知道为什么,我发现了这个问题。

在我的例子中,我取代了

代码语言:javascript
复制
host: 'localhost'

通过

代码语言:javascript
复制
host: '127.0.0.1'
票数 25
EN

Stack Overflow用户

发布于 2014-12-05 04:30:57

我知道这已经有一段时间没有被问到了,但是今天我花了更多的时间来修复这个问题。要检查的是:

在您的nodejs源中:

  • 在没有端口选项的情况下尝试它,除非在您的db VM上,MySQL正在监听3306之外的端口。我指定了此选项,但在删除它之前一直存在连接问题。无论如何,3306已经是该选项的默认值。
  • 在主机‘选项’中使用实际的主机IP进行尝试。我使用的是一个实际的域名,而且在我使用IP地址时,通常情况下,node会抛出相同的"errorError: getaddrinfo ENOTFOUND“,没有更多的错误。而且,在AWS中的Ubuntu实例上,我没有得到这个错误。当我转到Azure的Ubuntu时,我就遇到了问题。
  • 将“调试”连接选项设置为true,这将为您提供连接期间发生的详细跟踪

在您的db VM/Box/实例上:

  • 确保MySQL正在侦听正确的端口
  • 如果在尝试使用池进行并发连接时看到错误,请检查您的max_connections和max_user_connections是否与my.conf中的默认设置不同
  • 监视MySQL中的“显示PROCESSLIST;”,以查看您是否在那里看到任何问题
票数 16
EN

Stack Overflow用户

发布于 2019-02-05 22:50:21

这个密码适用于我。

代码语言:javascript
复制
var mysql = require('mysql');

var con = mysql.createConnection({
    host: '127.0.0.1',
    port: '3306',
    user: 'yourUsername',
    password: '**********'
});

con.connect(function(err){
    if(err) throw err;
    console.log('connected!');
});

主机和端口名在mysql服务器中找到它们。以“127.0.0.1”代替您可以使用“localhost”

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25521755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档