如何使用java访问远程mysql数据库

我已经开发了JAVA SWING应用程序 。 我想在几台可以访问互联网的 计算机上安装这个应用程序。 那么我应该在哪里放置我的MYSQL数据库? 所有这些计算机都应该能够通过互联网访问同一个数据库。

为了安全性(身份validation授权,加密)和性能原因,允许直接通过Internet访问数据库并不常见。 在大多数情况下,您将创建一个基于Web的服务器应用程序,该应用程序可以执行数据库操作,实施业务,域和安全规则。 客户端应用程序通过Internet进行调用(使用REST调用,AJAX调用或某些专有操作),并从服务器返回结果。

在您的情况下,由于您的客户端软件是Java,您可能想要研究Java Servlet并运行像Tomcat一样轻量级的东西。

有关客户端 – 服务器关系的说明,请参阅此页面和此页面 。

  1. 将您的数据库放在可通过Internet访问的主机中。
  2. 对于每个Applicaton主机的每个外部ip地址,在mysql上创建一个用户。

    GRANT ALL PRIVILEGES TO database.* to `user1`@`APPLICATION_HOST_IP` identified by 'PASSWORD'; 

现在user1将有权访问APPLICATION_HOST_IP IP。

那么可能性是无限的……您可以将它放在其他人可以访问的计算机上。 只要您可以通过网络访问数据库,它在哪里并不重要。 但是,如果具有客户端Swing的计算机全部连接在LAN中,则将数据库存储在具有最佳性能的计算机上。 作为提示使用IP,并从文本或条目动态端口,所以每次更改IP时都不要重新编译。 Chiers!