如何使用PHP从另一个IP地址访问另一个MySQL数据库?

如何使用PHP从另一个IP地址访问另一个MySQL数据库?,php,mysql,Php,Mysql,好吧,如果你能回答这个问题,你应该获得诺贝尔和平奖。不管怎样,情况是这样的 我使用的是Slicehost dot net,我有两个切片(两个不同的IP)。一部分是我的邮件服务器,另一部分是我的普通网站。我正在运行Ubuntu(8.04或8.10,类似的东西,应该没关系)。我试图做的是从另一个部分访问邮件服务器上的MySQL数据库。我正试图用PHP实现这一点。非常感谢您的帮助。 第一个参数是mysql服务器地址 服务器参数 MySQL服务器。它还可以包括 端口号。e、 g.“主机名:端口”或 指向

好吧,如果你能回答这个问题,你应该获得诺贝尔和平奖。不管怎样,情况是这样的

我使用的是Slicehost dot net,我有两个切片(两个不同的IP)。一部分是我的邮件服务器,另一部分是我的普通网站。我正在运行Ubuntu(8.04或8.10,类似的东西,应该没关系)。我试图做的是从另一个部分访问邮件服务器上的MySQL数据库。我正试图用PHP实现这一点。非常感谢您的帮助。

第一个参数是mysql服务器地址

服务器参数

MySQL服务器。它还可以包括 端口号。e、 g.“主机名:端口”或 指向本地套接字的路径,例如。 本地主机的“:/path/to/socket”

如果PHP指令 mysql.default\u主机未定义 (默认),则默认值为 '本地主机:3306'。在SQL安全模式下, 此参数将被忽略,并返回其值 始终使用“localhost:3306”

除非我误解了。。。这种设置非常常见。您遇到的任何问题都可能与以下方面有关:

  • 防火墙设置
其他一些相关问题:

mysql\u connect()在连接成功时返回链接标识符。你还需要做的是保持对两个链接的引用

当您想要使用哪一个链接时,只需将该链接作为参数包含

$link1 = mysql_connect($host1, $username1, $password1);
$link2 = mysql_connect($host2, $username2, $password2);
$r = mysql_query(QUERY, $link1);

就这么简单

假设您的邮件服务器位于IP 192.168.1.20,web服务器位于192.168.1.30

首先,您需要允许web服务器访问邮件服务器上的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');

伙计,不可能。如果这行得通,我可以吻你。非常感谢。我会让你知道一点。@lucha-只要确保用户有权从其他主机访问数据库。。。
$conn = mysql_connect('192.168.1.20', 'someuser', 'secretpass');