Error: read ECONNRESET at TCP.onStreamRead Cannot enqueue Query after fatal error

错误分析

我在使用node连接mysql时,经常会出现这个错误,我怀疑是不是我在创建mysql连接后每次进行数据库查询并没有将连接关闭,所以导致数据库一直处于连接状态,长时间没有响应导致了以下错误
error1:
在这里插入图片描述
error2:
在这里插入图片描述

问题解决

error1:

const mysql = require('mysql');
const connInfo = require('./config');

function queryMysql(sql, callback){
    const conn = mysql.createConnection(connInfo)
    conn.query(sql, (err, result)=>{
        if(err){
            console.log(err);
        }else {
            callback(result)
        }
        // 关闭数据库
        conn.end(err => {
            if(err){
                console.log(err)
            }
        })
    })
}

module.exports = queryMysql;

error2:
解决办法

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
这个错误通常表示在MySQL连接上发生了严重的错误,导致连接不再可用。在这种情况下,你需要关闭现有的MySQL连接,然后重新创建一个新的连接。 以下是一个示例代码,演示如何关闭现有连接并创建新连接: ``` const mysql = require('mysql'); let connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'database_name' }); connection.connect((error) => { if (error) { console.error('Error connecting to MySQL database: ' + error.stack); return; } console.log('Connected to MySQL database with ID ' + connection.threadId); // Perform some MySQL queries here... // When you're done, close the connection connection.end((error) => { if (error) { console.error('Error closing MySQL connection: ' + error.stack); return; } console.log('MySQL connection closed'); // Create a new connection connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'database_name' }); connection.connect((error) => { if (error) { console.error('Error connecting to MySQL database: ' + error.stack); return; } console.log('Connected to MySQL database with ID ' + connection.threadId); // Perform some more MySQL queries here... }); }); }); ``` 请注意,以上代码中的“localhost”、“root”、“password”和“database_name”应替换为你的MySQL数据库的实际信息。此外,你应该在每个查询之后关闭连接,并在需要时重新创建新连接,以避免出现此错误。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

牛仔不当马仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值