【问题标题】:Retrieve data from online database in java从java中的在线数据库中检索数据
【发布时间】:2023-04-04 20:54:02
【问题描述】:

我一直使用位于我的电脑中的database,所以连接它的步骤是:

  • 使用jdbc 连接到我的本地数据库
  • 执行查询
  • 显示结果

现在,我想知道如果database 位于在线server 中的步骤是什么?

一些指南,教程非常感谢。

【问题讨论】:

  • 该 url 必须通过互联网访问,带有 ip 或主机名。没有其他变化
  • 如果你的服务器上的数据库正在监听,那么你所要做的就是给 jdbc 你的服务器的 IP 和 SQL 端口和登录信息。
  • 最好在您和您的数据库之间有一个服务层(如 Web 服务),它会“隐藏”您的数据库以防未经授权的篡改
  • @OiRc 这取决于您的预期部署,但通常认为允许从未知 IP 地址访问您的数据库存在安全风险。通常,您会限制可以远程访问数据库的 IP 数量并将其隐藏在服务层(如 Web 服务器/服务)之后,该服务层将充当门卫并控制对数据库的访问。

标签: java mysql database server


【解决方案1】:

您必须更改数据库 url 才能像 jdbc:mysql://IP:3306/数据库名

还有用户名和密码。

像 godaddy 这样的托管公司在 localhost(在同一主机中)创建数据库,不需要更改代码中的任何内容。

【讨论】:

    【解决方案2】:

    由于您将连接到远程数据库,我建议您阅读有关secure connections using JDBC 的信息。例如,请参阅this question。您不想在没有 SSL 之类的东西保护数据机密性的情况下与远程数据库进行交互。
    一旦你认为你已经保护了你的连接,你可以使用像 Wireshark 这样的工具来确保进出你的数据库的数据包实际上是不透明的。

    此外,正如其他人所说,如果您已经与本地数据库建立了有效连接,则没有太大变化,只需将您的 URL 从 jdbc:mysql://localhost:port/database 更改为 jdbc:mysql://ipaddress:port/database
    根据我的经验,我发现一些托管公司会阻止来自未知 IP 地址的数据库访问,因此您可能必须前往您的 CPanel 并将您的 IP 地址列入白名单。

    一旦你的数据库连接建立起来,你用来查询数据库的代码应该看起来是一样的。

    一些有用的链接:
    JDBC Best practices
    JDBC Tutorials from Oracle

    【讨论】:

      猜你喜欢
      • 2017-04-07
      • 1970-01-01
      • 2013-10-31
      • 1970-01-01
      • 2021-07-02
      • 2012-02-03
      • 2019-11-19
      相关资源
      最近更新 更多