1

我们有用于托管网络服务的网络服务器。用于数据库的数据库(MySQL)服务器。两者都不在局域网中。我们可以在没有局域网的情况下从网络服务器连接数据库吗?

如果可以的话流程是怎样的?

4

3 回答 3

1

两者都不在局域网中

如果网络服务器和数据库服务器不在同一个局域网中,那么您必须与您的 IT 部门交谈并要求他们在它们之间进行适当的路由,并配置防火墙以让您的数据库流量通过。如果这不是一个选项,但在第三个 LAN 中有一台服务器可以从两台服务器访问,那么您可以在这第三台机器上安装端口转发器。

于 2012-11-15T07:55:11.987 回答
1

您可以通过 IP 地址访问服务器:

MySqlConnection cnn = new MySqlConnection("server=192.168.100.15;database=databasename;uid=xxxx;pwd=xxxx");

于 2012-11-15T07:55:55.913 回答
1

有两件事要检查。

[编辑] PHP 代码如下,没有意识到您使用的是 .NET。

首先,您在连接数据库时使用的是什么数据库主机字符串?如果您将'localhost'其用作数据库主机,它将无法工作,因为在与 Web 服务器相同的计算机上没有数据库。您的主机设置需要包含正确的 IP 地址/端口:

define('myDbHost', '192.168.5.1:5000'); // something like that

// or, when creating the connection (I am presuming you're using PHP)
$mysqli = new mysqli("192.168.5.1:5000", "user", "password", "database");

第二个问题是确保此地址/端口组合对您的 Web 服务器可见。您必须能够创建一个从 Web 服务器到数据库服务器上的端口号的套接字。这更像是一个系统管理员问题。

于 2012-11-15T07:56:09.510 回答