【发布时间】:2014-05-21 09:03:28
【问题描述】:
下午好,
我正在尝试让公众访问客户端服务器(Windows Server 2012)中的 mysql 数据库设置,以便我的应用程序可以在白天向它发送一些信息。该应用程序将位于我的国家/地区,因此本地连接是不可能的。我已经关注了许多用户发布的这个问题的许多解决方案,但没有一个有效,但如果你觉得这个问题已经被问到并得到了回答,我深表歉意。
对于初学者来说,数据库在 3306 默认端口上工作,在线端口扫描器检测到该端口为打开状态(我联系了我的 ISP,以便他们可以打开该端口)。
我编辑了 mysql 配置文件“my.ini”来注释绑定地址值,以便它侦听它连接到的任何 ip(localhost.lan 和公共 ip)。 我可以使用 127.0.0.1、10.0.0.129(本地局域网)上的 mysql.exe 连接到数据库,但是当我尝试使用公共 IP 地址或我的主机名(解析为我的公共 IP 的 dyndns.org 域名时)地址)我收到以下错误:
ERROR 2003 (HY000): 无法连接到“xxx.xxx.xxx.xxx”上的 MySQL 服务器 (10061)
我的问题是: 即使我的端口检查为打开状态,这可能是防火墙问题吗?即使端口打开,它仍然可能是端口转发问题,对吗?我应该要求我的 ISP 将 3306 端口上的所有请求端口转发到特定机器吗?
【问题讨论】:
-
你的服务器是什么?
APACHE或IIS? -
如果存在,请在 my.cnf 中注释掉
skip-networking -
另外,您需要确保您的数据库
GRANTs 允许外部用户连接参见theGRANTdocs for details -
@MichaelBerkowski 安全吗?我不这么认为。好事是在客户端 PC 上使用静态 IP 并允许它在服务器上
-
@samitha 如果不使用 SSL,允许与数据库的外部连接总是不太安全,但这正是 OP 所要求的。
标签: mysql