1

这真的是一件简单的事情。但我无法解决它,所以我希望有人能尽快给我答案。

我有两个单独的服务器。MySQL 数据库托管在服务器 #1 上,该服务器上的 PHP 文件通过查询运行网站。现在我想通过远程访问同一个数据库并运行数据库查询,在网站#2 上拥有相同的内容。

我已授予对服务器 #1 上数据库的远程 IP 访问权限。我已将相同的 PHP 文件(在服务器 #1 上进行查询)复制到服务器 #2,并将“localhost”更改为该服务器的 IP 地址。用户名和密码保持不变。

当我运行该 PHP 文件时,我收到一条消息“未找到数据库”。

这是访问服务器 #1 上的数据库的 PHP 代码,该服务器与数据库所在的服务器相同:

$user_name = "database_xxx";
$password = "xxx";
$database = "database_name";
$server = "localhost";

这是第二种情况,服务器#2 上的 PHP 文件应该访问同一个数据库:

$user_name = "database_xxx";
$password = "xxx";
$database = "database_name";
$server = "xx.xxx.xxx.xxx"; //IP address of server #1
4

2 回答 2

2

您说您已经检查了防火墙并确保远程主机正在使用数据库连接到计算机,因此这些都已退出。之后最容易检查的是权限。请记住,权限授予给user@host& 您可能只授予访问权限user@localhost. 在那之后,是时候看看你的数据库配置了。

于 2012-05-24T17:30:36.847 回答
0

如果您使用 Cpanel,您真正应该做的是转到数据库下的远程 MySql...在它要求允许连接的输入字段中。只需输入服务器#2 的域名,输入您在问题中提供的相同配置,但这次,不是将服务器#1 的 IP 地址放在服务器#2 Php 连接代码中,而是输入服务器#1 的域名。例如

$user_name = "database_xxx";
$password = "xxx";
$database = "database_name";
$server = "server#1.com"; //Domain name address of server #1
于 2012-05-24T18:48:49.370 回答