繁体   English   中英

无法使用外部IP地址连接到MySQL数据库

[英]can't connect to MySQL database using external ip address

我有一个作为Windows服务在Windows 7计算机上运行的MySQL服务器。 当我尝试使用external.ip =我的IP地址从http://www.whatismyip.com/在命令提示符下连接到它时:

mysql -h external.ip -u root -p

它返回:

ERROR 2003 (HY000): Can't connect to MySQL server on external.ip (10060)

但是,当我将external.ip更改为ipconfig命令列出的ip地址时,可以将其连接到它:

mysql -h ipconfig.ip -u root -p

我已经更改了root的权限以接受任何主机(使用类似从外部host / ip?访问mysql数据库中的命令(即:mysql workbench)中的命令 )。 在数据库中:

SELECT host, user FROM user;

回报(总结):

| host   | user |
-----------------
| %      | root |

另外,在my.ini文件中,没有任何行显示跳过网络。

前几天当我在external.ipipconfig.ip相同的另一个网络上尝试此操作时,它工作正常。 这可能是问题的根源,还是还有其他问题?

如果http://www.whatismyip.com/与您从ipconfig获得的地址不同,则意味着您正在使用本地路由器(可能是用于连接到Internet的路由器)进行网络地址转换。 换句话说,您有一个本地网络(在您的房子或您最喜欢的网吧中),该局域网具有诸如192.168.0.1或10.0.0.1。的专用网络地址。

MySQL通常在端口3306上使用侦听来进行入站连接请求。 但是,当您尝试通过公用ip地址(“我的IP地址”)进行连接时,网络提供商会将请求发送到路由器。 路由器会注意到端口3306,但它可能不知道该如何处理。 因此,它默默地忽略了该请求。 您用来建立连接的软件会超时。 很好 饼干试图连接到这样的端口,以查看它们是否可以进入您的计算机。

因此,要使其正常工作,您需要配置路由器,以将传入的TCP请求通过端口3306传递到运行MySQL服务器的计算机。 它可能具有配置屏幕来执行此操作。 它将在您拥有的路由器上工作。 它不能在咖啡厅路由器上工作。

如果您不确定“端口”是什么意思,或者不确定为什么从ipconfig和http://www.whatismyip.com/获得不同的IP地址,那么您可能需要先了解很多有关互联网技术的知识您应该尝试这种事情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM