我使用php发送一个查询到一个现有的数据库,以使用现有的登录凭据为一个基于网络的程序,以允许访问一个成员部分的页面。我的web服务器是公共的,既有公有ip,也有私有ip。但是,我的sql服务器位于本地lan上,并且没有公网ip。我是php的新手,但我觉得我写得很好。当我在pc上使用一个虚拟数据库托管网站供内部使用时,代码运行得非常令人惊讶。我在我的pc上设置了Apache来运行php代码,并设置了一个用于测试的sql数据库。我可以通过在网络浏览器中输入我的192.168.x.x,从办公室的其他任何一台计算机上登录和登出该网站。
现在站点被移到了web服务器上,而我正在链接到另一台服务器上的活动数据库,它不想工作了。我非常确定我没有任何编码错误导致这是一个配置问题。我想知道哪些口岸应该在哪里开放?现有数据库用户是否可以从远程内网ip查询数据库?我意识到这可能是一个初学者的问题,但是我已经到处找了好几天了,我的大脑被烧焦了。我需要一个基本的清单,主要的东西寻找或设置时,建立这种类型的连接。
网站运行在192.168.1.1上,公网ip为173.72.173.x
SQL DB在192.168.1.2上运行
我使用'user‘和'password’登录到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,但仅此而已?
发布于 2012-04-06 08:40:19
如果您使用的是MySQL (您提到的端口是3306),那么您很可能希望检查MySQL服务器上的my.cnf配置文件,并使其允许远程连接。
只需快速搜索bind-address = 127.0.0.1并在其前面放置散列#对其进行注释,然后禁用接口绑定。
因为您没有指定您正在使用的操作系统,所以我不能确定它是否绑定到特定的NIC。你自己试试吧。
https://stackoverflow.com/questions/10034512
复制相似问题