首页 > 解决方案 > 当我尝试向 MySQL 表中插入一行时,为什么会出现 ECONNREFUSED 错误?

问题描述

我想使用进程管理器 (pm2) 以保持我的 Node.js 运行,即使我的终端已关闭。但是,我似乎不能再使用mysql.createConnection它了,我被告知我需要使用它mysql.createPool

不幸的是,我无法让它工作,并且不断收到 ECONNREFUSED 错误。以下是完整的错误消息:

Error: connect ECONNREFUSED 127.0.0.1:3306
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1146:16)
    --------------------
    at Protocol._enqueue (/Users/btang/NodeJS/node_modules/mysql/lib/protocol/Protocol.js:144:48)
    at Protocol.handshake (/Users/btang/NodeJS/node_modules/mysql/lib/protocol/Protocol.js:51:23)
    at PoolConnection.connect (/Users/btang/NodeJS/node_modules/mysql/lib/Connection.js:116:18)
    at Pool.getConnection (/Users/btang/NodeJS/node_modules/mysql/lib/Pool.js:48:16)
    at Pool.query (/Users/btang/NodeJS/node_modules/mysql/lib/Pool.js:202:8)
    at /Users/btang/NodeJS/server.js:124:10
    at Layer.handle [as handle_request] (/Users/btang/NodeJS/node_modules/express/lib/router/layer.js:95:5)
    at next (/Users/btang/NodeJS/node_modules/express/lib/router/route.js:137:13)
    at Route.dispatch (/Users/btang/NodeJS/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/Users/btang/NodeJS/node_modules/express/lib/router/layer.js:95:5)

这是我到目前为止编写的代码:

const express = require('express');
var mysql = require('mysql');

const pool = mysql.createPool({
    connectionLimit: process.env.MYSQL_CONLIM,
    host: process.env.MYSQL_HOST,
    user: process.env.MYSQL_USER,
    password: process.env.MYSQL_PASS,
    database: process.env.MYSQL_DBNAME
});

app.post('/', (req, res, next) => {
    var context = {};
    pool.query("INSERT INTO Survey (ParticipantID) VALUES ?", [req.query.c], function(err, result) {
        if (err) {
            next(err);
            return;
        }
        context.results = "Inserted id " + result.insertId;
        res.render('home', context);
    });
});

app.listen(3001,()=>console.log("Port 3001"));

我找不到我的资源来尝试找到使用池连接编写 INSERT 查询的正确方法,所以我只是“弗兰肯斯坦”编辑它。

如果有什么好的资源供我查看,您能否也指出我正确的方向?

提前致谢!

标签: mysqlnode.jsexpresspm2

解决方案


推荐阅读