欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Node 使用nodemon连接mysql长时间不操作总是断开连接

程序员文章站 2022-06-19 12:48:03
很长时间没有使用node了,这两天在赶个人博客然后后台采用的是node+mysql来编写接口这个时候就遇到了如同标题所说的问题那么解决方案如下,我们只需要在断开之后重新连接即可const mysql = require("mysql");var dbConfig = require('./db.config');function handleError(err) { if (err) { // 如果是连接断开,自动重新连接 if (err.code === 'PROTOC...

很长时间没有使用node了,这两天在赶个人博客
然后后台采用的是node+mysql来编写接口
这个时候就遇到了如同标题所说的问题

那么解决方案如下,
我们只需要在断开之后重新连接即可

const mysql = require("mysql");
var dbConfig = require('./db.config');

function handleError(err) {
  if (err) {
    // 如果是连接断开,自动重新连接
    if (err.code === 'PROTOCOL_CONNECTION_LOST') {
      con.connect();
    } else {
      console.error(err.stack || err);
    }
  }
}

const con = mysql.createConnection(dbConfig);
con.connect(handleError);
con.on('error', handleError);
let curd = sql => {
  return new Promise((response, reject) => {
    con.query(sql, (err, data) => {
      if (err) {
        return reject(err);
      }
      return response(data);
    });
  });
};
// con.end()
module.exports = {
  curd
}

我们直接加一个handleError这样一个函数即可,把这个函数我们放在 connect 以及 on这个事件当中
原理其实就是当遇到了错误之后,重启mysql服务。
希望可以帮助大家解决这个问题

本文地址:https://blog.csdn.net/clli_Chain/article/details/108181897

相关标签: 前端 node.js