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

标签 java mysql database xampp sqlcmd

我有一个用 Java 制作的小程序,打算让它在下载到的任何计算机上运行。该程序的一部分连接到在我的本地主机上运行的 MySQL 数据库。但是,因为我希望它能够在任何连接到 Internet 的计算机上顺利运行,所以我可能有必要让我的程序通过 Internet 连接到数据库。目前,我的程序是这样连接到数据库的:

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

我的数据库中名为“user”的用户有一个主机“%”,我理解这意味着任何主机。但是,当我在连接到与我连接的网络不同的网络的计算机上运行该程序时,我遇到了通信链接故障。仅供引用,我使用 xampp 软件来管理我的数据库。在此先感谢您对此事的任何帮助。

最佳答案

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

不过我不推荐它,除非您确切地知道自己在做什么,因为如果您犯了错误,将 (windows) 计算机打开到 Internet 会非常危险。 (几乎)所有数据库只能通过本地主机访问是有原因的。

我家里有一个树莓派,我可以说有很多地方可能出错。 错误的端口转发可能会导致您的网络被劫持。错误的 IP 配置可能导致计算机劫持和可达性问题。当然,您可以在发现的端口上进行随机端口扫描和暴力破解。

如果您真的想这样做,我建议您掌握一定程度的知识,这样您就可以在不寻求帮助的情况下设置类似的东西。

如果出错,可能会出错非常非常严重...

关于java - 如何将 SQL 数据库连接到 Internet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32925713/

相关文章:

java - hibernate :MySQL

Java EE : Getting parameters from POST for a login form

python - 未绑定(bind)本地错误: local variable referenced before assignment in imported function only

php - MySQL - 计算问卷答案。

Java读取.txt文件到数组

java - 使用 S3 存储桶名称查找 AWS 账户 ID

database - 两列中的任何一列总是多余的——有更好的解决方案吗?

php - 数据插入前数据库数据字段检查

android - android ExpandableListView 中的搜索实现仅显示不为空的结果组

php - 使用mysql显示文件夹结构