与nodejs中的mysql有两个数据库连接

我想连接到两个数据库作为一个数据库用于login和其他数据库用于获取login用户的数据。

我已经创build了两个数据库连接如下,但它覆盖了以前的连接

var express = require('express'); var path = require('path'); var AWS = require('aws-sdk'); var connection = require('express-myconnection'); //second connection var myConnection = require('express-myconnection'); var mysql = require('mysql'); var app = express(); var session = require('express-session'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var passport = require('passport'); var localStrategy = require('passport-local').Strategy; app.use( connection(mysql,{ host: 'localhost', user: 'user1', password : 'pass1', port : 3306, //port mysql database:'database1' },'pool') //or single ); app.use( myConnection(mysql,{ host: 'localhost', user: 'user2', password : 'pass2', port : 3306, //port mysql database:'database2' },'pool') //or single ); 

好! 为了连接第二个数据库,我使用了包含池的mysql连接器文件,并将其分配给一个variables“newConnection”:

 var express = require('express'); var path = require('path'); var AWS = require('aws-sdk'); var connection = require('express-myconnection'); var mysql = require('mysql'); var app = express(); var session = require('express-session'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var passport = require('passport'); var localStrategy = require('passport-local').Strategy; app.use( connection(mysql,{ host: 'localhost', user: 'user1', password : 'pass1', port : 3306, //port mysql database:'database1' },'pool') //or single ); var newConnection = mysql.createPool({ host: 'localhost', user: 'user2', password : 'pass2', port : 3306, database:'database2'}); app.set('connection_user',newConnection);//setting DB configuration in a variable 

稍后,您可以简单地将连接器包含在另一个文件中,让它称为webservice.js:

 var connection_user = request.app.get('connection_user'); connection_user.getConnection(function(){}); 

现在使用“connection_user”variables我们连接到第二个数据库。 希望你明白了!