如何強制 MySQL 透過 TCP 而不是 Unix 套接字連線?
諸如“mysql”和“mysqldump”之類的程式,它們使用 MySQL 客戶端庫,可以藉助多種傳輸協議(例如 TCP/IP、Unix 套接字檔案、命名管道、共享記憶體等)支援 MySQL 連線到伺服器。
對於給定的連線,如果未指定傳輸協議,則將其確定為單獨的任務。
示例
連線到 localhost 將在 Unix 和類 Unix 系統上導致套接字檔案連線,而在其他情況下則導致到 127.0.0.1 的 TCP/IP 連線。如果必須特別指定協議,則使用 --protocol 命令選項來完成。
下表顯示了 --protocol 允許的值,並說明了每個值適用的平臺。需要注意的是,這些值不區分大小寫。
--protocol 值 | 使用的傳輸協議 | 適用平臺 |
---|---|---|
TCP | TCP/IP | 所有 |
SOCKET | Unix 套接字檔案 | Unix 和類 Unix 系統 |
PIPE | 命名管道 | Windows |
MEMORY | 共享記憶體 | Windows |
TCP/IP 傳輸也支援連線到本地或遠端 MySQL 伺服器。套接字檔案、命名管道和共享記憶體傳輸僅支援連線到本地 MySQL 伺服器。需要注意的是,命名管道傳輸確實允許遠端連線,但截至目前,MySQL 中尚未實現此功能。
傳輸協議 - 未指定
如果未指定傳輸協議,則 localhost 被解釋為 -
在 Unix 和類 Unix 系統上,連線到 localhost 將導致套接字檔案連線。
在其他系統上,連線到 localhost 將導致到 127.0.0.1 的 TCP/IP 連線。
傳輸協議 - 已指定
如果指定了傳輸協議,則根據該特定協議解釋 localhost。
廣告