2014-03-03 50 views
0

我有一个网上商店运行在Windows 2008 R2服务器上,可以在同一网络中的客户端PC上访问。 它工作正常,但现在我需要从另一个Windows 2008服务器获取数据库,而不是在同一台机器上运行它。访问外部phpmyadmin在同一网络上

我已经在新服务器上安装了WAMP,将数据库导入到phpmyadmin并打开了防火墙的端口80。在我的网店的连接文件中,我已将HOST更改为“192.168.0.17:80”(数据库服务器的IP地址)。

我仍然可以连接到商店并使用任何不使用数据库的东西,但是当我确实需要数据库时,它会加载一段时间,并且会显示超时错误。

从Webhost服务器Ping到数据库的工作原理。 我错过了什么吗?

编辑: 我现在可以通过“192.168.0.17/phpmyadmin”从Web服务器访问PHPMyAdmin。 我必须在PHP文件中输入什么来将其连接到数据库?

回答

1

如果您有phpMyAdmin和运行在192.168.0.17上的网络服务器,并且数据库位于192.168.0.20上,那么需要做两件事情来允许phpMyAdmin访问数据库。

  1. MySQL需要允许用户从其他机器连接。默认情况下,这通常是允许的;我不确定WAMP可能做出什么改变。如果您使用主机'localhost'创建用户,则这些用户将无法工作,您需要通过修改主机或创建一个新的类似用户来增加他们的权限。通常的免责声明适用于首先备份。
  2. phpMyAdmin需要配置为查看新的MySQL服务器而不是本地主机。打开config.inc.php和编辑或更改$cfg['Servers'][$i]['host']...行改为$cfg['Servers'][$i]['host'] = '192.168.0.20';

一旦你做到了这一点,你可以在你的服务器打开phpMyAdmin的,它现在应该尝试连接到现在有其他的服务器MySQL服务器已安装。

我已经在新服务器上安装了WAMP,将数据库 导入到phpmyadmin中,并打开防火墙的端口80。在我的网络连接 文件中,我已将主机更改为“192.168.0.17:80”(IP服务器地址为IP )。

我不确定这是什么意思。你的web应用程序(我认为你的意思是“webshop”)的确需要知道新数据库在哪里,但端口80是用于网络流量,而不是MySQL连接(默认端口为3306)。

还有一点点注意: 在标题中你提到了“一个外部的phpmyadmin”,但在你描述的“外部”通常意味着“外部的本地网络”(这反过来一般意味着“任何地方互联网”);我认为你的意思是在同一网络上的另一台机器,它将在你的网络内部。

编辑 我意识到我更困惑你的问题比我想象的,因为你写

编辑:我现在可以从Web服务器通过 “192.168.0.17/phpmyadmin”访问的phpMyAdmin 。

这是没有意义的。我以为你有两台服务器,Web服务器(运行你的Web应用程序和phpMyAdmin)和数据库服务器。我开始怀疑Web服务器实际上是192.168.0.17,在这种情况下,您已经正确配置了您的phpMyAdmin以访问新的MySQL服务器,因此您应该只需将您的Web应用程序更新为正确的IP地址(无需港口!);只需匹配你在phpMyAdmin的config.inc.php。因此,您不需要将192.168.17:80作为Web应用程序中的主机,而是需要与phpMyAdmin用于连接的主机名或IP地址相同。您可以在主页面上的“数据库服务器”部分找到它。

+0

我的网络服务器实际上是192.168.0.16。我不知道为什么我有权访问192.168.0.17/phpmyadmin,但我做到了。现在我已经通过访问数据库服务器上的PHPMyAdmin并允许通过SQL命令访问192.168.0.16并创建新的用户配置文件来解决该问题。 – user1433479

+0

我接受你的答案作为解决方案,因为我不得不开放端口3306,这也解决了部分问题。 – user1433479