我使用它来连接到我的本地 mysql 服务器:
<?
$host = "localhost";
$user = "root";
$pass = "";
$db1 = "mydb";
$db = mysql_connect($host,$user,$pass);
mysql_select_db($db1,$db);
?>
但是,我想连接到远程 mysql 服务器。我的意思是该站点将位于同一台服务器上,但我将连接到另一台 mysql 服务器。我该怎么做?
我在 Ubuntu 上。
答案1
这很简单$host
,$user
只需$pass
适当调整即可。当然,您和远程服务器之间的防火墙必须允许连接,并且您需要一个有效的用户名/密码(不应该是 ""
)。
答案2
在远程 MySQL 服务器上发出 GRANT 语句,如下:
授予对 mydb 上的 SELECT、INSERT、UPDATE、DELETE、CREATE、INDEX、ALTER、CREATE TEMPORARY TABLES、LOCK TABLES 的权限。* TO remoteuser@'192.168.1.10' IDENTIFIED BY 'password';
然后将 $host 更改为远程 MySQL 服务器的 IP 地址,将 $user 更改为 remoteuser,将 $pass 更改为密码(但最好不是密码)。还要确保远程 MySQL 服务器在 my.cnf 中没有 bind-address=127.0.0.1,并且没有任何防火墙规则阻止访问。
在上面的 GRANT 语句中,192.168.1.10 是运行 PHP 应用程序的主机的 IP 地址。
希望这可以帮助。