Documentation Home
MySQL Connector/J 8.0 Developer Guide
Related Documentation Download this Manual
PDF (US Ltr) - 465.4Kb
PDF (A4) - 468.7Kb
HTML Download (TGZ) - 113.0Kb
HTML Download (Zip) - 130.6Kb


MySQL Connector/J 8.0 Developer Guide  /  Connector/J Reference  /  Connecting Using Unix Domain Sockets

6.8 Connecting Using Unix Domain Sockets

Connector/J does not natively support connections to MySQL Servers with Unix domain sockets. However, there is provision for using 3rd-party libraries that supply the function via a pluggable socket factory. Such a custom factory should implement the com.mysql.cj.protocol.SocketFactory interface or the legacy com.mysql.jdbc.SocketFactory interface of Connector/J. Follow these requirements when you use such a custom socket factory for Unix sockets :

  • The MySQL Server must be configured with the system variable --socket (for native protocol connections using the JDBC API) or --mysqlx-socket (for X Protocol connections using the X DevAPI), which must contain the file path of the Unix socket file.

  • The fully-qualified class name of the custom factory should be passed to Connector/J via the connection property socketFactory. For example, with the junixsocket library, set:

    socketFactory=org.newsclub.net.mysql.AFUNIXDatabaseSocketFactory

    You might also need to pass other parameters to the custom factory as connection properties. For example, for the junixsocket library, provide the file path of the socket file with the property junixsocket.file:

    junixsocket.file=path_to_socket_file

  • When using the X Protocol, set the connection property xdevapi.useAsyncProtocol=false (that is the default setting for Connector/J 8.0.12 and later). Unix socket is not supported for asynchronous socket channels. When xdevapi.useAsyncProtocol=true, the socketFactory property is ignored.

Note

For X Protocol connections, the provision to use custom socket factory for Unix socket connefctions is only available for Connector/J 8.0.12 and later.


User Comments
User comments in this section are, as the name implies, provided by MySQL users. The MySQL documentation team is not responsible for, nor do they endorse, any of the information provided here.
Sign Up Login You must be logged in to post a comment.