我是nodeJs的新手并尝试开发我的第一个应用程序。我通过npm安装了mysql包,它已经安装完了,我可以在package.json中看到它的成功输入。但是,当我尝试连接到mysql服务器时,它会给我这个错误connect ECONNREFUSED 127.0.0.1:3306
。我在StackOverflow上搜索了这个问题,并且其他具有相同问题的用户通过向配置对象添加条目socketPath: '/var/run/mysqld/mysqld.sock'
来运行它。但是当我将其添加到配置对象时,我收到了一个新错误connect ENOENT /var/run/mysqld/mysqld.sock
。
以下是我尝试连接服务器的代码
var express = require('express');
var router = express.Router();
var mysql = require('mysql');
var connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '',
database: 'blog',
socketPath: '/var/run/mysqld/mysqld.sock'
});
connection.connect();
module.exports = router;
我使用Windows机器并在通过XAMPP包之前安装了mysql。这可能是导致连接失败的原因吗?
答案 0 :(得分:10)
您是否已启动XAMPP服务器?。
connect ECONNREFUSED 127.0.0.1:3306 - 当您没有启动XAMPP服务器时出现此错误。
请删除socketPath&尝试一次。
当我没有启动XAMPP服务器时,我遇到了同样的问题。
答案 1 :(得分:0)
在我的情况下是造成问题的 docker 网络。
我添加到我的 docker-compose 文件中: 网络模式:“主机”