代码之家  ›  专栏  ›  技术社区  ›  willbeeler

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

  •  2
  • willbeeler  · 技术社区  · 15 年前

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

    我用的是最光滑的点网,我有两片(两个不同的IP)。一个是我的邮件服务器,另一个是我的普通网站。我在运行Ubuntu(8.04或8.10,类似的,没关系)。我要做的是从另一个部分访问邮件服务器上的MySQL数据库。我正试图用PHP来实现这一点。我真的很感谢你的帮助。

    3 回复  |  直到 15 年前
        1
  •  9
  •   Community CDub    8 年前

    mysql_connect()

    $resource = mysql_connect('other-server-address.com', 'username', 'password');
    

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

    服务器参数

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

    如果php指令 mysql.default_主机未定义 (默认),则默认值为 “本地主机:3306”。在SQL安全模式下, 此参数被忽略,值为 始终使用“localhost:3306”。

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

    其他相关问题:

        2
  •  2
  •   nos    15 年前

    假设邮件服务器的IP为192.168.1.20,Web服务器的IP为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');
    
        3
  •  1
  •   Alex Wright    15 年前

    如果连接成功,mysql_connect()将返回链接标识符。另外,您需要做的是保留对这两个链接的引用。

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

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

    很简单。