文件首頁
MySQL Connector/J 開發人員指南
相關文件 下載本手冊
PDF (US Ltr) - 1.2Mb
PDF (A4) - 1.2Mb


MySQL Connector/J 開發人員指南  /  Connector/J 參考  /  使用具名管道連線

6.11 使用具名管道連線

重要

使用具名管道連線至伺服器的用戶端,僅會被授予對具名管道的最低權限。但是,Connector/J 只有在被授予對它們的完全存取權時才能使用具名管道。作為一種變通方法,Connector/J 要連線的 MySQL Server 必須使用系統變數 named_pipe_full_access_group 啟動,該變數指定一個 Windows 本機群組,其中包含用戶端應用程式 JVM (因此 Connector/J) 正在執行的使用者;如需更多詳細資訊,請參閱 named_pipe_full_access_group 的說明。

注意

具名管道不支援 X Protocol 連線。

Connector/J 也支援在 Windows 平台上使用具名管道存取 MySQL,並使用 NamedPipeSocketFactory 作為外掛程式插槽工廠。如果您未使用 namedPipePath 屬性,則會使用預設值 '\\.\pipe\MySQL'。如果您使用 NamedPipeSocketFactory,則會忽略 JDBC URL 中的主機名稱和埠號值。若要啟用此功能,請設定 socketFactory 屬性

socketFactory=com.mysql.cj.protocol.NamedPipeSocketFactory

設定此屬性,以及使用下列連線 URL 設定具名管道的路徑

jdbc:mysql:///test?socketFactory=com.mysql.cj.protocol.NamedPipeSocketFactory&namedPipePath=\\.\pipe\MySQL80

若要建立您自己的插槽工廠,請依照 com.mysql.cj.protocol.NamedPipeSocketFactorycom.mysql.cj.protocol.StandardSocketFactory 中的範例程式碼。

另一種方法是在連線 URL 中使用以下兩個屬性,以在 Windows 平台上建立具名管道連線

  • (protocol=pipe) 用於具名管道(屬性的預設值為 tcp)。

  • (path=path_to_pipe) 用於具名管道的路徑。路徑的預設值為 \\.\pipe\MySQL

主機規格的address-equalskey-value形式(詳細資訊請參閱單一主機)大大簡化了 Windows 上具名管道連線的 URL。例如,若要使用預設的具名管道 \\.\pipe\MySQL,只需指定

jdbc:mysql://address=(protocol=pipe)/test

若要使用自訂的具名管道 \\.\pipe\MySQL80

jdbc:mysql://address=(protocol=pipe)(path=\\.\pipe\MySQL80)/test

使用 (protocol=pipe) 時,會自動選取 NamedPipeSocketFactory

具名管道僅適用於連線至執行 JDBC 驅動程式的同一實體機器上的 MySQL 伺服器。在簡單的效能測試中,具名管道存取比標準 TCP/IP 存取快 30%-50%。但是,這會因系統而異,而且在許多 Windows 組態中,具名管道比 TCP/IP 慢。