我刚刚在我的 PC 上设置了一个 MySQL 服务器,用于使用 JDBC 测试 Java。目前,当在同一系统上运行我的应用程序时,“localhost”可以完美地用作我的应用程序的主机名。
但是,对于在不同计算机上运行的应用程序,我的 MySQL 服务器的主机名是什么?像“my_ip:port”这样的东西会起作用吗?我正在考虑编写一个小程序,我可以将其上传到 Web 服务器并尝试在此处连接到我的数据库。有可能实现吗?
您始终可以使用运行 mysql 的服务器的 IP 地址作为主机名或其完全限定域名。
像“my_ip:port”这样的东西会起作用吗?
如果 MySQL 实例已绑定到您的公共接口,并且您的防火墙允许,则可以。如果您通过执行 NAT 的路由器连接到网络(例如,组合 DSL 调制解调器和无线路由器允许您连接多台计算机),您必须在路由器中设置转发规则以告诉它哪个将请求转发到的本地机器。
您不必使用 IP 地址。您的机器也可能具有某种主机名(您分配的主机名,或者如果您通过 ISP 连接,则更有可能是他们分配的主机名)。那也行。
我正在考虑编写一个小程序,我可以将其上传到 Web 服务器并尝试在此处连接到我的数据库。有可能实现吗?
使用签名的Java 小程序,是的;否则,不。这是因为 Java 小程序在其中运行的安全沙箱不允许它们访问除了从它们加载的服务器(Web 服务器)之外的服务器。
更好的方法是让您的客户端代码(Java 小程序,或者只是 DHTML+Ajax 的东西)与 Web 服务器上的服务器端代码对话,而后者又与您的数据库对话。这样,数据库永远不会直接暴露于外部世界,并且您不必执行签名小程序之类的操作。