10bet网址
MySQL Connector/J 8.0开发指南
相关的文档10bet官方网站 本手册下载
PDF (Ltr)- 0.8 mb
PDF (A4)- 0.8 mb


6.10使用Unix域套接字连接

Connector/J本身不支持使用Unix域套接字连接到MySQL服务器。但是,可以使用通过可插入套接字工厂提供函数的第三方库。这样的自定义工厂应该实现com.mysql.cj.protocol.SocketFactory接口或遗留com.mysql.jdbc.SocketFactory接口连接器/ J。当您为Unix套接字使用这种自定义套接字工厂时,请遵循以下要求:

  • MySQL Server必须配置system变量——套接字(对于使用JDBC API的本机协议连接)或——mysqlx-socket(对于使用X DevAPI的X协议连接),它必须包含Unix套接字文件的文件路径。

  • 自定义工厂的完全限定类名应该通过connection属性传递给Connector/JsocketFactory.例如,对于junixsocket库,设置:

    socketFactory = org.newsclub.net.mysql.AFUNIXDatabaseSocketFactory

    您可能还需要将其他参数作为连接属性传递给自定义工厂。例如,对于junixsocket库,使用该属性提供套接字文件的文件路径junixsocket.file

    junixsocket.file =path_to_socket_file

  • 8.0.21及之前版本:当使用X协议时,设置连接属性xdevapi.useAsyncProtocol = false(这是Connector/J 8.0.12及以后版本的默认设置)。异步套接字通道不支持Unix套接字。当xdevapi.useAsyncProtocol = true,socketFactory属性被忽略(连接属性xdevapi.useAsyncProtocol自8.0.22版本以来已弃用)。

请注意

对于X协议连接,Unix套接字连接使用自定义套接字工厂的规定只适用于Connector/J 8.0.12及以后版本。