4.2.5 连接传输协议

对于使用 MySQLClient 端库的程序(例如mysqlmysqldump),MySQL 支持基于多种传输协议的服务器连接:TCP/IP,Unix 套接字文件,命名管道和共享内存。本节介绍如何选择这些协议,以及它们如何相似和不同。

传输协议选择

对于给定的连接,如果未明确指定传输协议,则将隐式确定传输协议。例如,与localhost的连接会导致在 Unix 和类似 Unix 的系统上构建套接字文件连接,否则会导致与127.0.0.1的 TCP/IP 连接。有关更多信息,请参见第 4.2.4 节“使用命令选项连接到 MySQL 服务器”

要明确指定协议,请使用--protocol命令选项。下 table 显示了--protocol的允许值,并指出了每个值的适用平台。这些值不区分大小写。

--protocol Value 使用的传输协议 Applicable Platforms
TCP TCP/IP All
SOCKET Unix 套接字文件 Unix 和类 Unix 系统
PIPE Named pipe Windows
MEMORY Shared memory Windows

本地和远程连接的传输支持

TCP/IP 传输支持与本地或远程 MySQL 服务器的连接。

套接字文件,命名管道和共享内存传输仅支持与本地 MySQL 服务器的连接。 (命名管道传输的确允许远程连接,但此功能未在 MySQL 中实现.)

localhost 的解释

如果未明确指定传输协议,则localhost解释如下:

如果显式指定了传输协议,则相对于该协议解释localhost。例如,对于--protocol=TCP,到localhost的连接会导致在所有平台上到127.0.0.1的 TCP/IP 连接。

加密和安全性 Feature

使用加密连接的命令选项中描述的选项,TCP/IP 和套接字文件传输受 TLS/SSL 加密。命名管道和共享内存传输不受 TLS/SSL 加密的约束。

如果通过默认情况下安全的传输协议进行连接,则默认情况下该连接是安全的。否则,对于受 TLS/SSL 加密的协议,可以使用加密使连接安全:

如果启用了require_secure_transport系统变量,则服务器仅允许使用某种形式的安全传输的连接。根据前面的说明,使用通过 TLS/SSL 加密的 TCP/IP,套接字文件或共享内存的连接是安全连接。未使用 TLS/SSL 加密的 TCP/IP 连接和命名管道连接不安全。

另请参见将加密连接配置为强制性

Connection Compression

所有传输协议都必须在 Client 端和服务器之间的流量上使用压缩。如果压缩和加密都用于给定的连接,则压缩发生在加密之前。有关更多信息,请参见第 4.2.6 节“连接压缩控制”

首页