如何在PHP中使用来自两个不同服务器的MySQL数据库?

时间:2014-01-30 23:43:57

标签: php mysql url file-upload

我正在尝试在后端使用PHP和MySQL制作一个webapp。我想知道如何使用两个MySQL服务器来获取数据。因为我将为应用程序使用两个域。因此,当我的第一个SQL数据库达到其极限时,我将需要使用另一个服务器。那么如何从所有服务器获取数据?我将使用用户注册和登录系统,然后使用其他文档信息和所有。那么对我有什么建议吗?您是否认为我应该在单个服务器上使用用户详细信息以及在另一台服务器上使用其他文档详细信息?

我的问题可能令人困惑,所以让我试着解释一下。

请参阅,我将使用两个域。 Domain1和Domain2

人们将能够从两个域注册以访问这两个应用。 (例如谷歌的应用程序,例如gmail,youtube,adsense,adwords等)

Domain1将缩短网址,Domain2将允许管理文件。并且Domain2还会生成缩短链接以下载这些文件。所以人们可以从Domain1上传文件,它会生成像Domain1 / f / 123456这样的缩短网址。这样的东西,所以对应用程序的任何建议?

1 个答案:

答案 0 :(得分:2)

您可以轻松地使用两个(或更多)应用中的一个数据库。您只需要主机名即可从任何位置访问数据库。例如,如果您的数据库主机是whatever.secureserver.net,只需将其放在连接参数中,如下所示:

$connection = mysql_connect('whatever.secureserver.net', 'username', 'password');

你可以用两个三,四个..来完成。访问同一数据库的不同应用程序但是,如果应用程序相对于数据库是远程的,则必须确保数据库允许远程连接。

如果要在一个应用程序中使用两个数据库(本例中为db1和db2),可以执行以下操作 -

如果数据库位于同一台服务器上:

$connection1 = mysql_connect('whatever.secureserver.net', 'username', 'password');    
$db1_selected = mysql_select_db('db1', $connection1);
$db2_selected = mysql_select_db('db2', $connection1);

如果数据库位于不同的服务器上:

$connection1 = mysql_connect('whatever.secureserver.net', 'username', 'password');  
$connection2 = mysql_connect('somethingelse.secureserver.net', 'username', 'password');    
$db1_selected = mysql_select_db('db1', $connection1);
$db2_selected = mysql_select_db('db2', $connection2);

当然,有一种更优雅的方式来处理数据库连接,但我选择了这个详细的答案,因此很清楚地说明了这一点。