【发布时间】:2022-01-06 17:53:09
【问题描述】:
我创建了一个应用程序,它从 HTML 表单中获取输入并将其插入 MySQL 数据库。在我开始为我的学习项目使用 Docker、SSH 和 NGINX 之前,一切都运行良好。
这是我的 database.js 文件:
const mysql = require('mysql2');
const con = mysql.createConnection({
host: 'localhost',
user: 'myusername',
password: 'password',
database: 'mydb',
port: 3000,
socketPath: '/var/run/mysqld/mysqld.sock'
});
con.connect(function(err) {
if (err) throw err;
console.log('Database connected!');
});
module.exports = con;
现在,每当我运行服务器时
nodemon index.js
服务器启动正常,但出现 database.js 错误:
database.js:13
if (err) throw err;
^
Error: connect ENOENT /var/run/mysqld/mysqld.sock
at PipeConnectWrap.afterConnect [as oncomplete] (net.js:1107:14)
如果我删除 pathSocket,我会收到以下错误:
database.js:12
if (err) throw err;
^
Error: connect ECONNREFUSED 127.0.0.1:3000
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1107:14)
如果我删除端口,则会出现以下错误:
database.js:11
if (err) throw err;
^
Error: connect ECONNREFUSED 127.0.0.1:3306
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1107:14)
我在 Internet 上到处寻找并尝试了一切,我什至卸载了 Ubuntu 发行版(我使用的是带有 WSL 2 的 Win 10)并重新安装了它。但问题依然存在。
--
我相信这是端口的问题,所以我是这个网络大惊小怪的新手,我真的不知道该怎么办。
【问题讨论】: