我是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。这会是连接失败的原因吗?
3条答案
按热度按时间r8xiu3jd1#
是否已启动XAMPP服务器?
连接ECONNREFUSED 127.0.0.1:3306--当您没有启动XAMPP服务器时出现此错误。
请删除socketPath并重试一次。
当我没有启动XAMPP服务器时,我也遇到过同样的问题。
ntjbwcob2#
在我的例子中是造成问题的Docker网络。
我添加到我的docker-compose文件中:网络模式:“主机”
l7wslrjt3#
检查插入的密码,通常应该是“password”。