nodejs连接mysql连接池实现长时间连接

原因:

因为在本地由nodemon启动后, 连接的mysql数据隔几分钟自动断开连接, 通过 on 方法监听 error 去重新连接后,调接口又报错,所以换了连接池的方式连接mysql

const mysql = require('mysql');

// 创建mysql连接池
const pool = mysql.createPool({
  host: 'localhost',
  user: 'root',
  password: 'root',
  database: 'user',
});

// 可省略,连接成功打印'mysql connection susscces...'
pool.getConnection(function (err, conn) {
  if (err) {
    console.log('连接失败 err:', err);
  } else {
    console.log('mysql connection susscces...');
  }
});

/**
 * @params sql mysql语句
 * @params callback 查询结果后的回调函数,函数的参数为 数据或者 报错
 */
const mysql_query = (sql, callback) => {
  pool.getConnection(function (err, conn) {
    if (err) console.log("POOL ==> " + err);
    conn.query(sql, function (err, data) {
      if (err) {
        callback(err)
      } else {
        callback(data)
      }
      conn.release();
    });
  });
}

module.exports = mysql_query;

你可能感兴趣的:(node,mysql,数据库,java)