我有一个托管在两个不同服务器server1和server2上的网站网络 我需要能够从server2上托管的站点中的PHP脚本访问存储在server1上的MySQL DataBase中的数据。
假设用户在server1上的site1上注册,并且他的数据被插入到server1上的DataBase中。现在,该用户可以使用相同的注册登录server2上的site2 这意味着server2上的PHP脚本需要访问server1上的MySQL数据库。我不想将用户数据复制到server2上的数据库,因为用户也可能在site1上编辑他或她的用户信息。
我希望能够在不编辑服务器数据的情况下共享此数据(如http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html中所述)。 到目前为止,我还没有找到实现这一目标的安全方法,有没有人知道如何使用PHP(或JavaScript),但我更喜欢系统适用于所有人,无论是否启用了JS) ?
谢谢!
答案 0 :(得分:2)
您可以通过允许其他服务器主机名连接到您的数据库来实现此目的。
在MySQL命令提示符或phpmyadmin中执行查询:
GRANT ALL ON databasename.* TO username@'ipaddress' IDENTIFIED BY 'somepassword';
http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html
答案 1 :(得分:1)
在server1上,script1看起来像这样:
$host = "localhost";
$user="dbuser";
$pass="dbpw";
$connection=mysql_connect($host,$user,$pass);
并且在server2上,script2看起来像:
$host = "server1.domain.com";
$user="dbuser";
$pass="dbpw";
$connection=mysql_connect($host,$user,$pass);
所以你只需要输入一个不同的主机名来连接。