java - 远程连接的 mysql 服务器的数据库 URL 到底是什么?

标签 java mysql sql jdbc

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

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

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

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

最佳答案

(警告:这里有一些轻微的过度简化。)

您可能知道,可以通过两种方式识别(直接)连接到 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 .

关于java - 远程连接的 mysql 服务器的数据库 URL 到底是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54056455/

相关文章:

java - getText() 方法不打印所有下拉值

java - Java有什么好处?

java - 延迟后如何运行方法?

sql - postgresql 9.2 中 varchar(n) 的最大长度是多少?最好使用 varchar(n) 或 text?

mysql - 简单的 SQL 更新查询在小表上速度很慢

java - hexString.toInt(32) NumberFormatException

mysql - Mariadb服务器

php - 如何获得 laravel orm 的最后增量?

php - while 和 foreach 正确的 php

php - SQL/PHP : Order by highest vote from different table