如何确定 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 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告