10bet网址
连接器和API手册
下载本手册

3.5.10使用命名管道连接

重要

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

注意

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

Connector/J还支持在具有名称管套厂作为一个插件插座工厂。如果你不使用命名管道路径属性,默认为'\\.\pipe\MySQL'已使用。如果你使用名称管套厂,则忽略JDBC URL中的主机名和端口号值。要启用此功能,请设置袜子厂属性:

socketFactory=com.mysql.cj.protocol.NamedPipeSocketFactory

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

jdbc公司:mysql:///test?socketFactory=com.mysql.cj.protocol.NamedPipeSocketFactory&namedPipePath=\\管道\MySQL80

要创建自己的套接字工厂,请遵循中的示例代码com.mysql.cj.protocol.NamedPipeSocketFactory名称com.mysql.cj.protocol.StandardSocketFactory标准套接字工厂.

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

  • (协议=管道)对于命名管道(特性的默认值为tcp协议).

  • (路径=管道路径)指定管道的路径。路径的默认值为\\管道\MySQL.

这个地址等于关键字值主机规格表(见单一主机详细信息)大大简化了Windows上命名管道连接的URL。例如,要使用的默认命名管道\\管道\MySQL,只需指定:

jdbc公司:mysql://address=(协议=管道)/测试

使用的自定义命名管道\\管道\MySQL80:

jdbc公司:mysql://address=(protocol=pipe)(路径=\\.\pipe\MySQL80)/测试

(协议=管道),的名称管套厂自动选择。

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