標籤:
兩種方式解決
1、你可以配置mysql的串連池
var mysql = require(‘mysql‘);var pool = mysql.createPool({ host: ‘localhost‘, user: ‘nodejs‘, password: ‘nodejs‘, database: ‘nodejs‘, port: 3306});var selectSQL = ‘select * from t_user limit 10‘;pool.getConnection(function (err, conn) { if (err) console.log("POOL ==> " + err); conn.query(selectSQL,function(err,rows){ if (err) console.log(err); console.log("SELECT ==> "); for (var i in rows) { console.log(rows[i]); } conn.release(); });});
2、你可以使用斷線重連的方式來解決
var mysql = require(‘mysql‘);var conn;function handleError () { conn = mysql.createConnection({ host: ‘localhost‘, user: ‘nodejs‘, password: ‘nodejs‘, database: ‘nodejs‘, port: 3306 }); //串連錯誤,2秒重試 conn.connect(function (err) { if (err) { console.log(‘error when connecting to db:‘, err); setTimeout(handleError , 2000); } }); conn.on(‘error‘, function (err) { console.log(‘db error‘, err); // 如果是串連斷開,自動重新串連 if (err.code === ‘PROTOCOL_CONNECTION_LOST‘) { handleError(); } else { throw err; } });}handleError();
nodejs使用MYSQL串連池,斷線重連