得到错误"连接ECONNREFUSED 127.0.0.1:3306"同时连接到mysql

时间:2017-03-20 09:28:33

标签: mysql node.js

我是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。这可能是导致连接失败的原因吗?

2 个答案:

答案 0 :(得分:10)

您是否已启动XAMPP服务器?。

connect ECONNREFUSED 127.0.0.1:3306 - 当您没有启动XAMPP服务器时出现此错误。

请删除socketPath&尝试一次。

当我没有启动XAMPP服务器时,我遇到了同样的问题。

答案 1 :(得分:0)

在我的情况下是造成问题的 docker 网络。

我添加到我的 docker-compose 文件中: 网络模式:“主机”