如何将SQL数据库连接到Internet?

时间:2015-10-03 18:01:22

标签: java mysql database xampp sqlcmd

我有一个用Java制作的小程序,并打算让它在任何下载到的计算机上运行。该程序的一部分连接到我的localhost上运行的MySQL数据库。但是,由于我希望能够在任何连接到互联网的计算机上顺利运行,因此我可能需要通过互联网将程序连接到数据库。目前,我的程序连接到数据库,如下所示:

Connection con = DriverManager.getConnection("jdbc:mysql://my_public_ip/name_of_database", "user", "user_password");

我的数据库名为'user'的用户有一个'%'的主机,我理解这意味着任何主机。但是,当我在连接到不同于我的连接的网络的计算机上运行程序时,我收到通信链路故障。仅供参考,我使用xampp软件来管理我的数据库。提前感谢您对此事的任何帮助。

2 个答案:

答案 0 :(得分:4)

您需要确保您的公共IP是静态的,您的内部IP是静态的,并在端口3306上进行端口转发,并且您的防火墙允许远程连接到端口3306。

我不推荐它,除非你确切地知道你在做什么因为如果你弄错了,打开一台(windows)电脑上网可能会非常危险。 有一个原因(几乎)所有数据库只能通过localhost访问。

我在家里有一个覆盆子pi,我可以说有很多可能会出错。 错误的端口转发可能导致您的网络被劫持。错误的IP配置可能导致计算机劫持和重新安装问题。当然,您可以在发现的端口上随机进行端口扫描和强制扫描。

如果你真的想这样做,我建议你获得一定的知识水平,让你在不寻求帮助的情况下设置这样的东西。

如果出现问题,可能会出错,非常糟糕......

答案 1 :(得分:0)

您需要在路由器上设置端口转发,以便在端口3306上连接到家庭网络的连接将在运行mysql数据库的情况下转发到您的计算机。