【发布时间】:2018-02-28 10:01:19
【问题描述】:
我目前正在尝试在服务器上运行应用程序,但我的客户对他们的数据非常“挑剔”,并希望将数据库存储在他们自己的内部办公服务器上。我已经安装了 MySQL,并且可以让应用程序在本地运行,但由于一些特定的原因,应用程序需要在其他地方运行。
我基本上无法从其他位置访问 MySQL。我认为我的主要绊脚石是将端口转发到正确的位置。 MySQL 安装在本地 IP 地址为 192.168.1.242 的 mac mini 上,路由器/调制解调器是 Apple Time Capsule。我试过看教程,但它们都有我无法访问的选项。我附上了我可以访问的选项和到目前为止我尝试过的设置的屏幕截图。
可能需要的其他信息是:
- 我需要从 PHP 连接
- 我在 MySQL 中使用通配符 (%) 设置了一个用户
- 我正在使用以下命令对其进行测试:在我的本地计算机上使用 CMD 命令:mysql -u username -h remote_ip_address -p
- 我收到以下错误:ERROR 2003 (HY000): Can't connect to MySQL server on 'REMOTE_IP_ADDRESS' (10061)
- Mac Mini 上的防火墙已完全关闭
- my.cnf 文件中没有任何内容
- 操作系统是 Sierra
目前我能想到的就这么多,但如果有任何建议,我们将不胜感激,并且可以提供所需的任何更多信息。
附言。显然我不太擅长 MAC 机器/网络
【问题讨论】:
-
只需检查您点击的“Remote_ip_address”是客户的外部 WAN 地址,而不是内部 LAN 192.168.1.242 IP。正确的?机场上的 DHCP 保留和端口转发看起来正确。
-
是的,这是正确的,出于安全目的避免了某些细节,但是是的,我指的是 WAN 地址
-
不依赖 MySQL 命令来测试,能不能切换到 netcat (
netcat -vv remote_address 3306) 或者 telnet (telnet remote_address 3306) 看看能不能抢到一个连接。我假设你不能给出 MySQL 给出的错误,但值得一个故障排除步骤。使用telnet,如果您成功连接并需要退出,您可以键入quit退出。 -
另外,还有一个愚蠢的问题,当你在他们的局域网上到 192.168.1.242 时,你能建立 mysql 连接吗?
-
另外......他们的 ISP 是否有可能阻止该端口?我不确定这是否有可能,因为我从来没有遇到过,但也许它是非业务线并且他们的 ISP 是一袋垃圾......
标签: mysql macos remote-access portforwarding