1

我正在使用 php 向现有数据库发送查询,以将现有登录凭据用于基于 Web 的程序,以允许访问成员部分页面。我的网络服务器是公共的,有一个公共 ip 和一个私人 ip。但是,我的 sql server 坐在本地局域网上,没有公共 ip。我对php很陌生,但我觉得我写得很好。当我在我的电脑上使用虚拟数据库托管网站供内部使用时,该代码的效果非常好。我在我的电脑上设置了 Apache 来运行 php 代码并设置了一个 sql 数据库用于测试目的。通过在网络浏览器中输入我的 192.168.xx,我可以访问该站点并从办公室的任何其他计算机上登录和退出。

现在该站点已移至 Web 服务器,并且我正在链接到它不想工作的另一台服务器上的活动数据库。我很确定我没有任何编码错误导致这是一个配置问题。我想知道应该在哪里打开哪些端口?现有的数据库用户是否能够从远程私有 IP 查询数据库?我意识到这可能是一个初学者的问题,但我已经四处寻找了好几天,我的大脑被炸了。在建立这种类型的连接时,我需要一份基本清单,列出要查找或设置的主要事项。

网站在 192.168.1.1 上运行,公共 IP 为 173.72.173.x
SQL DB 在 192.168.1.2 上运行
我使用“用户”和“密码”登录到 sql 服务器上的 sql 引擎,所以我使用的配置文件:

$server = "192.168.1.2:3306";   // server to connect to.

$database = "myusers";      // the name of the database.

$db_user = "user";      // mysql username to access the database with.

$db_pass = "password";      // mysql password to access the database with.

$table = "dbo.users";       // the table that this script will set up and use.

我将它调用到需要查询任何内容的每个文件中。

那么这些设置正确吗?或者我是否需要在我的 sql 引擎上创建另一个用户才能从远程主机访问数据库?端口呢?sql server开了3306,就这样?

4

1 回答 1

1

如果您使用 MySQL(您提到了端口 3306),您很可能希望检查 MySQL 服务器上的 my.cnf 配置文件,并让它允许远程连接。

bind-address = 127.0.0.1只需通过在其前面放置一个哈希#并禁用接口绑定来快速搜索并评论它。

由于您没有指定您正在使用的操作系统,我无法确定它是否可能绑定到特定的 NIC。自己试试。

于 2012-04-06T00:40:19.440 回答