【问题标题】:What exactly is my database URL for mysql server connecting remotely?远程连接的 mysql 服务器的数据库 URL 到底是什么?
【发布时间】:2019-06-01 01:25:28
【问题描述】:

尝试使用 JDBC 自动加载驱动程序连接到 mysql 数据库,语法要求如下:jdbc:subProtocolName:databaseURL

我知道如何与提供 mysql 服务器的本地主机一起工作,但我没有远程完成此操作,我想在第一时间就做好,而不是编写我的应用程序并且无法设置.xml 文件等中的断点,并混淆了我可能遇到的其他问题的来源。

到目前为止,我有:“jdbc:mysql:[url???]:3306/dbname?autoReconnect=true”

它只是服务器的 ip 地址,还是 myusername@[ipAddressofServer],或者完全是别的什么?我不认为它将是 name@localhost:[port#] 因为这表明服务器驻留在本地。我在网上看到说在这里使用“服务器名称”的东西。这相当于主机名吗?不涉及在 localhost 上运行 mysql 的示例会很棒。谢谢!

【问题讨论】:

标签: java mysql sql jdbc


【解决方案1】:

(警告:这里有些过于简单化了。)

您可能知道,可以通过两种方式识别(直接)连接到 Internet 的计算机:

  1. “IP 地址”,历史上的形式为 151.101.1.69(但现在可能更长更可怕),或者
  2. “DNS(域名服务)名称”,例如stackoverflow.com,有时称为“主机名”。

当应用程序想要连接到自己的计算机时,它可以使用上述两种特殊情况。 127.0.0.1localhost 都表示“这台电脑”。

因此,如果您想连接到远程计算机,您可以使用其 DNS 名称或 IP 地址作为连接字符串中的“服务器名称”。例如,如果上面示例中的机器上运行着 MySQL 服务器,那么您的连接字符串可能是

jdbc:mysql://151.101.1.69:3306/databasename?useUnicode=true&characterEncoding=utf8

jdbc:mysql://stackoverflow.com:3306/databasename?useUnicode=true&characterEncoding=utf8

注意事项:

  • 您实际上不需要指定端口 3306,因为这是 MySQL 的默认端口。如果您在连接字符串中省略端口号,驱动程序将尝试使用 3306。
  • useUnicode=true&characterEncoding=utf8 只是添加到连接字符串的常见属性的示例。它们有很多,您可以阅读更多关于它们的信息here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-17
    • 1970-01-01
    • 2017-03-08
    • 1970-01-01
    • 2020-06-02
    • 1970-01-01
    • 2021-05-14
    相关资源
    最近更新 更多