一个网站-多个数据库


One website - multiple database

我们有多个主服务器同步到一个从服务器。我们决定为每个主数据库创建一个数据库(比如MDB0001;MDB0002;MDB0003等等……)。这将允许不破坏整个数据库,如果一个复制失败或有损坏的数据…从服务器用于向web上的用户显示信息(主服务器仅在本地网络中可用)

目的是:我们希望有一个网站(在php中)在服务器(从)上显示每个数据库的内容取决于谁登录。因此,如果连接了用户MDB0001,我们必须从数据库MDB0001读取数据。

如何做到这一点?这是一个好方法吗?或者,我必须为每个数据库复制网站吗?

我希望我的解释清楚。由于

假设您从登录中获得一个变量,您可以将键->值数组放在db.php页面上;

 $userDBs = array('login1'=>'db1','login2'=>'db2');
 $dbName = $userDBs[$loggedinID];  // if login1 logs in, db1 would be result.
  $db = new PDO('mysql:host=localhost;dbname='.$dbName, 'someUser', 'somePass');

或有一个单独的数据库用于关联:

  $sel = "Select dbName from databases where userId='".$loggedInID."'";
  $stmt = $db->query($sel);
  while($r = $stmt->fetch()){
      $dbName = $r['dbName'];
  }
 $db = new PDO('mysql:host=localhost;dbname='.$dbName, 'someUser', 'somePass');