前言
這是由於mysql自帶的一段時間無動作會自動關閉的機制
解決
使用閉包可以完美解決問題
var mysql = require('mysql')
var sqlConfig = {
host: 'localhost',
user: 'root',
password: 'pwd',
database: 'dbbase'
}
var conn = function(){
let connection = mysql.createConnection(sqlConfig)
connection.connect()
connection.on('error',err=>{
if (!err.fatal) {
return;
}
if (err.code !== 'PROTOCOL_CONNECTION_LOST') {
throw err;
}
console.log('Re-connecting lost connection: ' + err.stack);
connection = mysql.createConnection(sqlConfig)
})
return function(){
return connection
}
}
module.exports = conn()