【问题标题】:Getting error "connect ECONNREFUSED 127.0.0.1:3306" while connecting to mysql连接到 mysql 时出现错误“连接 ECONNREFUSED 127.0.0.1:3306”
【发布时间】:2017-08-11 12:19:39
【问题描述】:

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

【问题讨论】:

    标签: mysql node.js


    【解决方案1】:

    您是否启动了 XAMPP 服务器?

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

    请删除 socketPath 并尝试一次。

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

    【讨论】:

    • 是的,它对我有用。我使用 XAMPP 应用程序连接到 mysql。
    • 是的,它对我有用。我启动了我的 XAMPP 应用程序并从那里启动了 mysql。现在我可以从任何地方访问 MySql,因为我已经将它的 exe 路径设置为环境变量。
    • 太遗憾了,我们大多数人都忘了打开 xampp 哈哈
    【解决方案2】:

    在我的例子中,是 docker 网络造成了问题。

    我添加到我的 docker-compose 文件中: network_mode: "主机"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-19
      • 2019-12-22
      • 2018-04-07
      • 2021-02-27
      • 2022-11-04
      • 2019-05-28
      相关资源
      最近更新 更多