连接到mysql时出现错误“connect ECONNREFUSED 127.0.0.1:3306”

kkih6yb8  于 2022-12-03  发布在  Mysql
关注(0)|答案(3)|浏览(239)

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

r8xiu3jd

r8xiu3jd1#

是否已启动XAMPP服务器?
连接ECONNREFUSED 127.0.0.1:3306--当您没有启动XAMPP服务器时出现此错误。
请删除socketPath并重试一次。
当我没有启动XAMPP服务器时,我也遇到过同样的问题。

ntjbwcob

ntjbwcob2#

在我的例子中是造成问题的Docker网络。
我添加到我的docker-compose文件中:网络模式:“主机”

l7wslrjt

l7wslrjt3#

检查插入的密码,通常应该是“password”。

相关问题