mysql - 当我尝试向 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 查询的正确方法,所以我只是“弗兰肯斯坦”编辑它。
如果有什么好的资源供我查看,您能否也指出我正确的方向?
提前致谢!
解决方案
推荐阅读
- r - 从给定点按半径选择坐标数据
- django - CRSF cookie 未在另一个站点的 iframed Django 视图中设置
- javascript - 流类型具有泛型的值数组
- mysql - Mysqldump 无法在 FreeBSD 中使用动态文件名处理 cron 作业
- arduino - 如何从 arduino uno 的数字引脚获得 5v 电压
- c# - 从客户端检测到潜在危险的 Request.Path 值 (<) System.Web.HttpRequest.ValidateInputIfRequiredByConfig()
- c++ - 用于 REST WEB 服务的 Soap 客户端
- c# - 以下情况有什么区别?
- java - 使用 Spring Boot 将具有基本身份验证的自动登录客户端自动登录到其他网站
- python - 熊猫将元素放置在错误的位置