Node.js
MySQLの接続プール
サーチ…
データベースなしの接続プールの使用
複数のデータベースがホストされているデータベースサーバー上でマルチテナントを実現する。
今日、エンタープライズアプリケーションのマルチテナント性が一般的な要件であり、データベースサーバーの各データベースに接続プールを作成することはお勧めしません。ですから、データベースサーバーとの接続プールを作成し、必要に応じてデータベースサーバー上にホストされているデータベース間で切り替えることができます。
私たちのアプリケーションが、データベースサーバ上にホストされている各企業ごとに異なるデータベースを持っているとします。ユーザーがアプリケーションにヒットすると、それぞれの企業データベースに接続します。ここでそれを行う方法の例です:
var pool = mysql.createPool({
connectionLimit : 10,
host : 'example.org',
user : 'bobby',
password : 'pass'
});
pool.getConnection(function(err, connection){
if(err){
return cb(err);
}
connection.changeUser({database : "firm1"});
connection.query("SELECT * from history", function(err, data){
connection.release();
cb(err, data);
});
});
私は例を分解しましょう:
プール設定を定義するとき、私はデータベース名を与えず、データベースサーバだけを与えました。
{
connectionLimit : 10,
host : 'example.org',
user : 'bobby',
password : 'pass'
}
データベースサーバー上の特定のデータベースを使用する場合は、次のコマンドを使用してヒットデータベースへの接続を尋ねます。
connection.changeUser({database : "firm1"});
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow