【问题标题】:PHP from local system not able to connect to mysql server in VPN来自本地系统的 PHP 无法连接到 VPN 中的 mysql 服务器
【发布时间】:2014-08-04 11:33:46
【问题描述】:

我在 linux 环境中有一个带有私有 ip 的 mysql 服务器。为访问 MySQL 服务器提供了 VPN 访问权限。

我使用 VPN 并通过 putty 访问连接并从 CLI 连接到 mysql。 但是当我在 wamp 环境中尝试通过 php 时,它说

警告:mysql_connect() [function.mysql-connect]:无法建立连接,因为目标机器主动拒绝。

我使用了以下行

mysql_connect("privateip","username","pass") or die(mysql_error());

请帮助我解决这个问题。 谢谢

【问题讨论】:

  • 你试过 privateip:portnumber 吗?
  • 我假设您的 mysql 服务器配置为仅接受来自本地主机的连接,而不接受来自外部的连接。如果我没记错的话,这是一个配置标准。
  • 也看看stackoverflow.com/questions/8380797/…。评分第二高的答案。
  • "不建议使用旧的 mysql 扩展进行新的开发,因为它从 PHP 5.5.0 开始已被弃用,将来将被删除"uk1.php.net/manual/en/mysqlinfo.api.choosing.php
  • 如果您的错误提示为actively refused it,您将一路访问您的 MySQL 服务器,但它可能不喜欢凭据。该用户必须设置为至少允许来自您的 IP 地址的连接,或者如果更改,则 'user'@'%' 允许从任何地方进行连接。有点危险!如果您这样做,请确保密码非常强大。

标签: php mysql wamp vpn


【解决方案1】:

根据this thread on CodeProject"Actively refused it" means that the host sent a reset instead of an ack when you tried to connect。 正如 Amit 所说,这不是您的代码的问题,而是您的服务器配置的问题。

我不会问为什么您必须通过 VPN 连接(只要您的防火墙允许,可以从任何地方访问 MySQL 数据库),但这可能是这里的问题。 尝试从 VPN 外部连接。

如果这不起作用,那么请在服务器故障或超级用户上重新提出这个问题(省略你的代码,因为它不会导致问题),因为这个问题目前不在 Stack Overflow 的范围内。

【讨论】:

  • 我们正在使用 VPN,因为管理员删除了公共 IP,只提供给我们私有 IP
猜你喜欢
  • 2021-09-05
  • 2018-06-10
  • 1970-01-01
  • 1970-01-01
  • 2015-11-13
  • 2017-03-27
  • 2012-08-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多