如何確定 MySQL 客戶端使用的連線方法?


要確定 MySQL 連線使用的連線方法,可以使用以下命令:

netstat −ln | grep 'mysql'

在 Unix 上,MySQL 程式以特殊方式處理主機名“localhost”。因此,它的行為與預期不同。

連線型別

要從 mysql CLI 內部瞭解連線型別,可以使用以下命令:

mysql> \s

輸出:

Connection: 127.0.0.1 via TCP/IP
(or)
Connection: Localhost via UNIX socket

到本地伺服器的 TCP/IP 連線

為了確保客戶端建立到本地伺服器的 TCP/IP 連線,可以使用 --host 或 -h。這會將主機名值指定為 127.0.0.1,或本地伺服器的 IP 地址或名稱。還可以使用 --protocol=TCP 選項顯式指定連線協議,包括 localhost。讓我們看一個例子:

shell> mysql --host=127.0.0.1
shell> mysql --protocol=TCP

--protocol={TCP|SOCKET|PIPE|MEMORY} 選項顯式指定必須使用某種協議連線到伺服器。

Unix 上到 localhost 的連線

Unix 上到 localhost 的連線預設使用 Unix 套接字檔案進行。讓我們看看如何使用以下命令完成此操作:

shell> mysql --host=localhost

要強制使用 TCP/IP 連線,可以指定 --protocol 選項。讓我們看看如何做到這一點:

shell> mysql --host=localhost --protocol=TCP

下面列出了一些協議型別:

  • TCP - 用於連線到本地或遠端伺服器的 TCP/IP 連線。它在所有平臺上都可用。

  • SOCKET - 它是到本地伺服器的 Unix 套接字檔案連線。僅在 Unix 上可用。

  • PIPE - 它是到本地或遠端伺服器的命名管道連線。僅在 Windows 上可用。

  • MEMORY - 它是到本地伺服器的共享記憶體連線。僅在 Windows 上可用。

更新於:2021年3月10日

359 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.