当前位置: 首页 > 面试题库 >

使用Unix套接字的JDBC MySQL连接

傅琦
2023-03-14
问题内容

我在Linux上使用 --skip-networking 选项使用MySQL 。

尝试使用JDBC将基于J2EE的应用程序(使用servlet)连接到MySQL数据库。

使用 禁用*--skip-networking 选项的MySQL时,我以以下方式连接到数据库: *

Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase","myuser","mypassword");

启用 --skip-networking 选项后,我尝试将其连接为:

Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/mydatabase","myuser","mypassword");

但这似乎不起作用,当我尝试连接到应用程序中的数据库时,出现 java.lang.NullPointerException

注释掉 --skip-networking 选项并使用旧的JDBC语句后,我可以连接到数据库。

注意 -我能够通过启用 --skip-networking 选项的命令行mysql客户端连接到数据库。

谁能告诉我如何 从JDBC 连接到数据库?我尝试搜索它,但无法找到满意的答案。提前致谢。


问题答案:

您根本无法做到这一点:MySQL JDBC驱动程序仅支持TCP / IP,并且-在Windows上-支持连接到数据库的命名管道。因此,指定--skip- networking将完全不允许您使用JDBC MySQL Connector / J。

另请参见http://lists.mysql.com/java/8749:

Java本身不支持Unix域套接字,但是由于您在Windows上,因此可以使用命名管道[..]

上面帖子中的死链接现在是http://dev.mysql.com/doc/connector-j/en/connector-j-reference-
configuration-
properties.html



 类似资料:
  • 在nodeJS应用程序中,我希望通过其UNIX套接字。我用这个包裹https://mongodb.github.io/node-mongodb-native/?jmp=docs(版本3.1.6),通过这种方式: 此处的文档中引用了URI:https://docs.mongodb.com/manual/reference/connection-string/#unix-域套接字。但在我的例子中,它失

  • 问题内容: 我意识到,由于UNIX套接字是特定于平台的,因此必须包含一些非Java代码。具体来说,我们对使用JDBC连接到仅启用UNIX域套接字的MySQL实例感兴趣。 看起来好像不支持该功能,但是据我所读, 如果 我们能够找到一个适合Java的UNIX套接字的实现, 那么 至少应该可以为基于UNIX套接字的JDBC写一个SocketFactory 。 有人尝试过吗?有人知道这样的实现吗? 问题答

  • 首先我要感谢你花时间... 我在macbook中用C++创建了一个服务器套接字,在运行windows XP的不同机器中用Java创建了一个客户机/套接字。我已将端口指定为5000,但无法指定正确的主机,因此无法进行连接。当我在windows xp中使用WinSock2创建一个C++服务器/套接字时,当我使用本地主机时,连接是完美的...有什么想法吗??? 提前Thnx int main(int a

  • 开发基于Android和iOS的应用程序,需要与运行在同一设备中的服务器进行通信。目前使用TCP环回连接与应用程序和服务器进行通信(应用程序用用户层编写,服务器用C++编写,使用Android NDK) 我想知道用Unix域套接字取代内部通信是否会提高性能?

  • 问题内容: 如何验证socket.io连接?我的应用程序使用来自另一台服务器(python)的登录端点来获取令牌,每当用户在节点侧打开套接字连接时如何使用该令牌? 和客户端: 如果令牌是在python中创建的: 如何使用此令牌对节点中的套接字连接进行身份验证? 问题答案: 令牌是否在另一台服务器上创建都没有关系。如果您拥有正确的密钥和算法,您仍然可以验证它。 用模块实施 客户 服务器 用模块实施

  • 问题内容: 如何创建SSL套接字连接? 我真的需要创建密钥库吗?该密钥库应该与我所有的客户端应用程序共享吗? 我用以下代码创建了一个服务器: 我用以下代码在android上创建了一个客户端: 但是当我尝试连接时,会引发以下错误: 问题答案: 您需要一个证书来建立ssl连接,您可以在密钥库中加载证书,也可以加载证书本身。我将显示一些有关keystore选项的示例。 您的代码需要一些参数才能运行: 您