尝试使用具有以下要求的语法的JDBC自动驱动程序连接到mysql数据库:jdbc:subProtocolName:databaseURL
我知道如何与提供mysql服务器的本地主机一起使用,但是我还没有远程完成此操作,因此我想在第一次使用时正确处理它,而不是对我的应用程序进行编码并且无法设置.xml文件等中的断点,并混淆了我可能遇到的其他问题的来源。
到目前为止,我有:“ jdbc:mysql:[url ???]:3306 / dbname?autoReconnect = true”
是服务器的简单IP地址,还是myusername @ [ipAddressofServer],还是其他?我不认为它是name @ localhost:[port#],因为那将表明服务器位于本地。我在网上看到过一些东西说要在这里使用“服务器名称”。这等于主机名吗?例子很好,它不涉及在本地主机上运行的mysql。谢谢!
答案 0 :(得分:2)
(警告:这里有些简化)。
您可能已经知道,可以通过两种方式识别(直接)连接到Internet的计算机:
151.101.1.69
(但如今可能更长且更可怕),或者stackoverflow.com
,有时也称为“主机名”。当应用程序想要连接到其自己的计算机时,可以使用上述两种特殊情况。 127.0.0.1
和localhost
均表示“此计算机”。
因此,如果要连接到远程计算机,则可以在连接字符串中使用其DNS名称或IP地址作为“服务器名称”。例如,如果在上面的示例中计算机上运行了MySQL Server,则您的连接字符串可能是
jdbc:mysql://151.101.1.69:3306/databasename?useUnicode=true&characterEncoding=utf8
或
jdbc:mysql://stackoverflow.com:3306/databasename?useUnicode=true&characterEncoding=utf8
注意:
useUnicode=true&characterEncoding=utf8
只是添加到连接字符串的常见属性的示例。其中有很多,您可以阅读关于它们的更多信息here。