MYSQL数据库未连接,Node.JS,NPM MYSQL

时间:2017-02-03 16:47:53

标签: mysql node.js express npm

我尝试使用npm MYSQL库(https://www.npmjs.com/package/mysql)连接到MYSQL数据库,但我收到了服务器无法连接的错误。当我进入服务器时,我可以看到数据库,并且我验证了我的凭据并且它们有效。我的应用程序位于我们的单独服务器上,IP地址以123.75结尾,而数据库在123.74上。我使用我在Express上设置的路由来呼叫数据库。我列出了Express& amp;下面的NPM MYSQL代码(凭据已编辑),以及我收到的错误。

NPM MYSQL:

 const config = sql.createConnection( {
    host: '123.74:3306',
    user: 'root',
    pass: '****',
    database: '****'
});

快速路线:

app.use('/t',function(req,res){
      config.connect(function(err){
          if (err){
              res.send(err);
              return;
          }
          res.send('connected');
      });
      config.end();

  });

错误:

{"code":"ENOTFOUND","errno":"ENOTFOUND","syscall":"getaddrinfo","hostname":"123.74:3306","host":"123.74:3306","port":3306,"fatal":true}

更新

我在图书馆找到了这个问题,并发布了一个解决方案。

2 个答案:

答案 0 :(得分:1)

您必须更正配置对象,从主机中删除端口并将其添加为对象键。

const config = sql.createConnection( {
        host: '123.74',
        port: 3306,
        user: 'root',
        pass: '****',
        database: '****'
});

答案 1 :(得分:0)

问题是我使用的mysql库。在查看GitHub上提出的众多问题之后,似乎我的问题非常普遍,所以我决定切换到另一个名为“mysql2”的库,我提供了与以前相同的凭据,我的数据流出没问题。我在下面的NPM上放了一个链接库。

https://www.npmjs.com/package/mysql2