如何确定 MySQL 客户端使用的连接方法?

mysqlmysqli database

要确定 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 上到本地主机的连接

默认情况下,Unix 上到本地主机的连接是借助 Unix 套接字文件建立的。让我们看看如何使用以下命令完成此操作 −

shell> mysql --host=localhost

要强制使用 TCP/IP 连接,可以指定 --protocol 选项。让我们看看如何完成此操作 −

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

下面列出了一些协议类型 −

  • TCP − 用于连接到本地或远程服务器的 TCP/IP 连接。它适用于所有平台。

  • SOCKET − 它是与本地服务器的 Unix 套接字文件连接。它仅在 Unix 上可用。

  • PIPE − 它是与本地或远程服务器的命名管道连接。它仅在 Windows 上可用。

  • MEMORY − 它是与本地服务器的共享内存连接。它仅在 Windows 上可用。


相关文章