如何确定 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 上可用。