好的,如果你能回答这个问题,你应该获得诺贝尔和平奖。无论如何,这是情况。
我正在使用Slicehost点网,我有2个切片(两个不同的IP)。一片是我的邮件服务器,另一片是我的普通网站。我正在运行Ubuntu(8.04或8.10,类似的东西,它应该没关系)。我要做的是从另一个切片访问邮件服务器上的MySQL数据库。我试图用PHP做到这一点。我真的很感激任何帮助。
答案 0 :(得分:9)
$resource = mysql_connect('other-server-address.com', 'username', 'password');
第一个参数是mysql服务器地址。
服务器参数
MySQL服务器。它还可以包括 一个端口号。例如“hostname:port”或 本地套接字的路径,例如 “:/ path / to / socket”为localhost。
如果是PHP指令 mysql.default_host未定义 (默认),则默认值为 的 'localhost:3306'。在SQL安全模式下, 此参数被忽略并且值 总是使用'localhost:3306'。
除非我误解......这种设置很常见。您遇到的任何麻烦都可能与以下内容有关:
其他一些相关的SO问题:
答案 1 :(得分:2)
假设您的邮件服务器位于IP 192.168.1.20且Web服务器为192.168.1.30
首先,您需要允许Web服务器访问Mail服务器上的mysql数据库。 在192.168.1.20上运行mysql命令并授予对Web服务器所需数据库的访问权限
mysql> grant all on mydb.* to 'someuser'@'192.168.1.30' identified by 'secretpass;
您的PHP代码使用以下内容连接到该数据库:
$conn = mysql_connect('192.168.1.20', 'someuser', 'secretpass');
答案 2 :(得分:1)
如果连接成功,mysql_connect()将返回链接标识符。您还必须保持对两个链接的引用。
如果您想使用哪个链接,只需将链接作为参数包含。
$link1 = mysql_connect($host1, $username1, $password1);
$link2 = mysql_connect($host2, $username2, $password2);
$r = mysql_query(QUERY, $link1);
这很简单。