Connector/J 本身不支持使用 Unix 域套接字连接到 MySQL 服务器。但是,可以使用通过可插入套接字工厂提供功能的第 3 方库。这样的自定义工厂应该实现 Connector/J 的 com.mysql.cj.protocol.SocketFactory
        接口或遗留
        com.mysql.jdbc.SocketFactory接口。当您为 Unix 套接字使用此类自定义套接字工厂时,请遵循以下要求:
      
- MySQL 服务器必须配置系统变量 - --socket(对于使用 JDBC API 的本机协议连接)或- --mysqlx-socket(对于使用 X DevAPI 的 X 协议连接),它必须包含 Unix 套接字文件的文件路径。
- 
自定义工厂的完全限定类名应该通过连接属性传递给 Connector/J socketFactory。例如,对于 junixsocket 库,设置:socketFactory=org.newsclub.net.mysql.AFUNIXDatabaseSocketFactory您可能还需要将其他参数作为连接属性传递给自定义工厂。例如,对于 junixsocket 库,提供具有以下属性的套接字文件的文件路径 junixsocket.file:junixsocket.file=path_to_socket_file
- Fore release 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 及更高版本。