我尝试使用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}
更新
我在图书馆找到了这个问题,并发布了一个解决方案。
答案 0 :(得分:1)
您必须更正配置对象,从主机中删除端口并将其添加为对象键。
const config = sql.createConnection( {
host: '123.74',
port: 3306,
user: 'root',
pass: '****',
database: '****'
});
答案 1 :(得分:0)
问题是我使用的mysql库。在查看GitHub上提出的众多问题之后,似乎我的问题非常普遍,所以我决定切换到另一个名为“mysql2”的库,我提供了与以前相同的凭据,我的数据流出没问题。我在下面的NPM上放了一个链接库。