【发布时间】:2012-01-30 14:10:26
【问题描述】:
我已经开发了一个JAVA SWING 应用程序。我想在几台计算机上安装这个应用程序,所有这些计算机都可以访问互联网。 那么我应该把我的 MYSQL 数据库放在哪里呢?所有这些计算机都应该能够通过互联网访问同一个数据库。
【问题讨论】:
我已经开发了一个JAVA SWING 应用程序。我想在几台计算机上安装这个应用程序,所有这些计算机都可以访问互联网。 那么我应该把我的 MYSQL 数据库放在哪里呢?所有这些计算机都应该能够通过互联网访问同一个数据库。
【问题讨论】:
出于安全(身份验证授权、加密)和性能原因,允许直接通过 Internet 访问数据库并不常见。在大多数情况下,您将创建一个基于 Web 的服务器应用程序,该应用程序可以执行数据库操作,执行业务、域和安全规则。客户端应用程序通过 Internet 进行调用(使用 REST 调用、AJAX 调用或专有的东西),并从服务器获取结果。
在您的情况下,由于您的客户端软件是 Java,您可能需要研究 Java Servlets 并运行像 Tomcat 这样的轻量级服务器。
【讨论】:
为每个Applicaton主机的每个外部IP地址在mysql上创建一个用户。
GRANT ALL PRIVILEGES TO database.* to `user1`@`APPLICATION_HOST_IP` identified by 'PASSWORD';
现在user1 将可以从APPLICATION_HOST_IP IP 访问。
【讨论】:
好吧,可能性是无限的。您可以将它放置在其他人可以访问的每台计算机上。只要您可以通过网络访问数据库,它在哪里并不重要。但是,如果您的客户端 Swing 的计算机都连接在 LAN 中,则将 DB 存储在性能最佳的计算机上。 作为提示,请使用 IP,并从文本或条目中动态端口,因此每次更改 IP 时不要重新编译。 奇尔斯!!
【讨论】: