如何強制 MySQL 透過 TCP 而不是 Unix 套接字連線?


諸如“mysql”和“mysqldump”之類的程式,它們使用 MySQL 客戶端庫,可以藉助多種傳輸協議(例如 TCP/IP、Unix 套接字檔案、命名管道、共享記憶體等)支援 MySQL 連線到伺服器。

對於給定的連線,如果未指定傳輸協議,則將其確定為單獨的任務。

示例

連線到 localhost 將在 Unix 和類 Unix 系統上導致套接字檔案連線,而在其他情況下則導致到 127.0.0.1 的 TCP/IP 連線。如果必須特別指定協議,則使用 --protocol 命令選項來完成。

下表顯示了 --protocol 允許的值,並說明了每個值適用的平臺。需要注意的是,這些值不區分大小寫。

--protocol 值使用的傳輸協議適用平臺
TCPTCP/IP所有
SOCKETUnix 套接字檔案Unix 和類 Unix 系統
PIPE命名管道Windows
MEMORY共享記憶體Windows

TCP/IP 傳輸也支援連線到本地或遠端 MySQL 伺服器。套接字檔案、命名管道和共享記憶體傳輸僅支援連線到本地 MySQL 伺服器。需要注意的是,命名管道傳輸確實允許遠端連線,但截至目前,MySQL 中尚未實現此功能。

傳輸協議 - 未指定

如果未指定傳輸協議,則 localhost 被解釋為 -

  • 在 Unix 和類 Unix 系統上,連線到 localhost 將導致套接字檔案連線。

  • 在其他系統上,連線到 localhost 將導致到 127.0.0.1 的 TCP/IP 連線。

傳輸協議 - 已指定

如果指定了傳輸協議,則根據該特定協議解釋 localhost。

更新於: 2021-03-09

720 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告