我们有多个主服务器同步到一个从服务器。我们决定为每个主数据库创建一个数据库(比如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');