Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment créer un pool de connexions MySQL tout en travaillant avec NodeJS et Express ?

Juste pour aider quelqu'un à l'avenir, cela a fonctionné pour moi :

J'ai créé un fichier de connecteur mysql contenant le pool :

// Load module
var mysql = require('mysql');
// Initialize pool
var pool      =    mysql.createPool({
    connectionLimit : 10,
    host     : '127.0.0.1',
    user     : 'root',
    password : 'root',
    database : 'db_name',
    debug    :  false
});    
module.exports = pool;

Plus tard, vous pouvez simplement inclure le connecteur dans un autre fichier, appelons-le manageDB.js :

var pool = require('./mysqlConnector');

Et créé une méthode appelable comme celle-ci :

exports.executeQuery=function(query,callback){
    pool.getConnection(function(err,connection){
        if (err) {
          connection.release();
          throw err;
        }   
        connection.query(query,function(err,rows){
            connection.release();
            if(!err) {
                callback(null, {rows: rows});
            }           
        });
        connection.on('error', function(err) {      
              throw err;
              return;     
        });
    });
}