文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (美式 Letter) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  ...  /  連線傳輸協定

6.2.7 連線傳輸協定

對於使用 MySQL 用戶端程式庫的程式(例如,mysqlmysqldump),MySQL 支援基於幾種傳輸協定的伺服器連線:TCP/IP、Unix socket 檔案、具名管道和共用記憶體。本節描述如何選擇這些協定,以及它們如何相似和不同。

傳輸協定選擇

對於給定的連線,如果未明確指定傳輸協定,則會隱式決定。例如,連線到 localhost 會在 Unix 和類 Unix 系統上產生 socket 檔案連線,否則會產生到 127.0.0.1 的 TCP/IP 連線。如需其他資訊,請參閱第 6.2.4 節,「使用命令選項連線至 MySQL 伺服器」

若要明確指定協定,請使用 --protocol 命令選項。下表顯示 --protocol 的允許值,並指示每個值適用的平台。這些值不區分大小寫。

--protocol 使用的傳輸協定 適用平台
TCP TCP/IP 所有
SOCKET Unix socket 檔案 Unix 和類 Unix 系統
PIPE 具名管道 Windows
MEMORY 共用記憶體 Windows

本機和遠端連線的傳輸支援

TCP/IP 傳輸支援連線到本機或遠端 MySQL 伺服器。

Socket 檔案、具名管道和共用記憶體傳輸僅支援連線到本機 MySQL 伺服器。(具名管道傳輸允許遠端連線,但此功能未在 MySQL 中實作。)

localhost 的解釋

如果未明確指定傳輸協定,則 localhost 的解釋如下:

  • 在 Unix 和類 Unix 系統上,連線到 localhost 會產生 socket 檔案連線。

  • 否則,連線到 localhost 會產生到 127.0.0.1 的 TCP/IP 連線。

如果明確指定傳輸協定,則會根據該協定解釋 localhost。例如,使用 --protocol=TCP,連線到 localhost 會在所有平台上產生到 127.0.0.1 的 TCP/IP 連線。

加密和安全性特性

TCP/IP 和 socket 檔案傳輸會使用加密連線的命令選項中所述的選項進行 TLS/SSL 加密。具名管道和共用記憶體傳輸不受 TLS/SSL 加密影響。

如果連線是透過預設安全的傳輸協定建立,則預設為安全。否則,對於受 TLS/SSL 加密影響的協定,可以使用加密來使連線安全。

  • TCP/IP 連線預設不安全,但可以加密以使其安全。

  • Socket 檔案連線預設是安全的。它們也可以加密,但加密 socket 檔案連線並不會使其更安全,反而會增加 CPU 負載。

  • 具名管道連線預設不安全,並且不受加密影響以使其安全。但是,可以使用 named_pipe_full_access_group 系統變數來控制允許哪些 MySQL 使用者使用具名管道連線。

  • 共用記憶體連線預設是安全的。

如果啟用 require_secure_transport 系統變數,則伺服器僅允許使用某種形式安全傳輸的連線。根據前面的說明,使用 TLS/SSL 加密的 TCP/IP、socket 檔案或共用記憶體的連線是安全連線。未使用 TLS/SSL 加密的 TCP/IP 連線和具名管道連線不安全。

另請參閱將加密連線設定為強制

連線壓縮

所有傳輸協定都可以在用戶端和伺服器之間的流量上使用壓縮。如果給定的連線同時使用壓縮和加密,則會在加密之前進行壓縮。如需更多資訊,請參閱第 6.2.8 節,「連線壓縮控制」