文档首页
MySQL Connector/J 开发者指南
相关文档 下载本手册
PDF (US Ltr) - 1.2Mb
PDF (A4) - 1.2Mb


MySQL Connector/J 开发者指南  /  Connector/J 参考  /  使用命名管道连接

6.11 使用命名管道连接

重要

使用命名管道连接到服务器的客户端被授予对命名管道的最小权限。但是,Connector/J 只有在被授予对命名管道的完全访问权限时才能使用它们。作为一种解决方法,Connector/J 要连接到的 MySQL 服务器必须使用系统变量 named_pipe_full_access_group 启动,该变量指定一个 Windows 本地组,其中包含执行客户端应用程序 JVM(以及 Connector/J)的用户;有关更多详细信息,请参阅 named_pipe_full_access_group 的说明。

注意

X 协议连接不支持命名管道。

Connector/J 还支持在 Windows 平台上使用 NamedPipeSocketFactory 作为插件套接字工厂,通过命名管道访问 MySQL。如果不使用 namedPipePath 属性,则使用默认值 '\\.\pipe\MySQL'。如果使用 NamedPipeSocketFactory,则忽略 JDBC URL 中的主机名和端口号值。要启用此功能,请设置 socketFactory 属性

socketFactory=com.mysql.cj.protocol.NamedPipeSocketFactory

使用以下连接 URL 设置此属性以及命名管道的路径

jdbc:mysql:///test?socketFactory=com.mysql.cj.protocol.NamedPipeSocketFactory&namedPipePath=\\.\pipe\MySQL80

要创建自己的套接字工厂,请遵循 com.mysql.cj.protocol.NamedPipeSocketFactorycom.mysql.cj.protocol.StandardSocketFactory 中的示例代码。

另一种方法是在连接 URL 中使用以下两个属性来在 Windows 平台上建立命名管道连接

  • (protocol=pipe) 用于命名管道(该属性的默认值为 tcp)。

  • (path=path_to_pipe) 用于命名管道的路径。路径的默认值为 \\.\pipe\MySQL

主机规范的“地址等于”或“键值”形式(有关详细信息,请参阅单主机)极大地简化了 Windows 上命名管道连接的 URL。例如,要使用默认的命名管道“\\.\pipe\MySQL”,只需指定

jdbc:mysql://address=(protocol=pipe)/test

要使用自定义命名管道“\\.\pipe\MySQL80

jdbc:mysql://address=(protocol=pipe)(path=\\.\pipe\MySQL80)/test

使用 (protocol=pipe) 时,将自动选择 NamedPipeSocketFactory

只有在连接到运行 JDBC 驱动程序的同一台物理机器上的 MySQL 服务器时,命名管道才有效。在简单的性能测试中,命名管道访问比标准 TCP/IP 访问快 30%-50%。但是,这因系统而异,在许多 Windows 配置中,命名管道比 TCP/IP 慢。