2010-11-11 130 views
2

我有一个运行apache + mysql的远程服务器,并且我在家用电脑上开发了一个应用程序来管理我的数据库。我的家用电脑的应用程序连接到我的远程服务器,我从我的家用电脑管理我的数据库(正如我说的mysql在同一台远程计算机上运行)。从我的应用程序连接到远程mysql服务器。问题是Mysql服务器在局域网上

接下来的几天,由于交通繁忙,我打算使用第二台远程服务器作为数据库服务器。我的第一个远程服务器只处理apache,而新的远程服务器只处理mysql数据库。

新的mysql远程服务器将连接到局域网中的旧服务器。所以我在apache服务器上的网站可以像“192.168.x.x”那样与数据库进行通信(你明白了)。

问题是:我的家庭应用程序将如何与数据库服务器通信?数据库服务器将与我的Web服务器一起位于LAN中,并且只有Web服务器可以像“192.168.x.x”一样“查看”数据库服务器。我的家庭应用程序如何能够“看到”LAN中“隐藏”的数据库服务器?

我是一位经验丰富的程序员,但对网络有一点经验,请原谅我在描述中写下的任何可能的无意义,我希望你明白我的观点,如果你能给我一些帮助或指点我,我会很高兴任何有用的文章 - 如何做。

谢谢你们!

+0

这可能是一个更好的问题serverfault.com – KeatsKelleher 2010-11-11 21:08:57

+1

管理员可以将此移至serverfault或我应该重新发布? – karman888 2010-11-11 21:15:15

+0

你需要为你的数据库服务器提供一个公共IP,就像你的旧服务器一样。或者你可以'ssh'进入你的旧服务器,从那里'ssh 192.168.xx'这是你的数据库服务器私人ip – ajreal 2010-11-11 22:01:42

回答

0

我使用的一个应用程序利用ssh隧道来实现这一点。对不起,这是几乎没有一个完整的答案,但也许它会启动你在正确的方向:)

0

如何配置网络?

[home pc] -> {internet} -> [firewall] -> [webserver] -> [database] 

[home pc] -> {internet} -> [firewall] -> [webserver] 
             |  | 
             `-> [database] 

在这两种,如果数据库服务器是将运行MySQL的唯一机器,你应该能够在防火墙和/或网络服务器配置为转发的MySQL端口( 3306),因此就外界而言,即使实际上通过防火墙/网络服务器路由数据包,数据库服务器也可以直接访问。

+0

的配置将会是[home pc] - > {internet} - > [webserver + firewall] -LAN- > [数据库服务器] Web服务器将使用第二个NIC与数据库服务器进行通信。 所以,如果我理解正确,我将不得不安装我的服务器端口转发。 我的应用程序现在使用ip和标准端口连接到我唯一的Web数据库服务器。如果我理解正确,那么在设置数据库服务器之后,我的应用程序的连接细节将不必更改。 – karman888 2010-11-13 22:22:35

+0

当新的数据库服务器准备就绪时,唯一需要做的改变是从我的web服务器设置端口转发到数据库服务器(只有他可以通过局域网看到)。 这是正确的,或者我错过了什么?请确认,因为我没有很多的硬件经验,我觉得有点失落! 当然非常感谢你的帮助!我真的需要它!:) – karman888 2010-11-13 22:23:14

+0

是的,配置网络服务器端口转发3306到数据库服务器。完成后,您的家用PC将连接到相同的IP /端口,但数据包将透明地转发到数据库服务器,而不是停留在Web服务器上。 – 2010-11-14 03:02:44