UNIXソケットはプラットフォーム固有であるため、Java以外のコードが必要になることに気づきました。具体的には、JDBCを使用して、UNIXドメインソケットのみが有効になっているMySQLインスタンスに接続することに関心があります。
これはサポートされているようには見えませんが、私が読んだことから、UNIXソケットに基づいてJDBCのSocketFactoryを書くことは少なくとも可能であるはずですif UNIXソケットの適切な実装を見つけることができますJava用。
誰かがこれを試しましたか?誰かがそのような実装を知っていますか?
JUDSライブラリーを調べてください。 Java Unixドメインソケットライブラリです...
Junixsocketを使用できます: https://github.com/kohlschutter/junixsocket
Unixソケットを介してJava(Connector/J)からMySQLに接続するためのコードをすでに提供しています。
他の実装と比較した1つの大きな利点は、junixsocketが標準のJava Socket APIを使用することです。
元の kohlschutter/junixsocket は、別の回答で言及されているように死んでいるようですので、そのフォークを確認できます。
特にfiken/junixsocketは有望に見えます。その作者は、たとえば pgjdbc を介してUNIXソケットを使用したPostgreSQLへの接続のサポートを追加しました。
JNAライブラリーを調べてください。純粋なJavaとJNIネイティブコードの中間の家です。
MariaDB JDBCドライバー はこれをサポートし、MySQL JDBCドライバーと互換性があります。
次のようなJDBC URLを使用します。
jdbc:mariadb://localhost:3306/revmgt?localSocket=/var/run/mysqld/mysqld.sock
このライブラリはJNAを使用してネイティブUNIXドメインソケットにアクセスするため、JNAライブラリを含める必要があることに注意してください。私のテストではかなりうまくいきます。 CPUバウンドJava=オフロードからネイティブコードへのプロセス)の速度が向上しました。