文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
信息 (Gzip) - 4.0Mb
信息 (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  连接传输协议

6.2.7 连接传输协议

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

传输协议选择

对于给定的连接,如果没有显式指定传输协议,则隐式确定。例如,在 Unix 和类 Unix 系统上,连接到 localhost 会导致套接字文件连接,而在其他系统上,则会导致连接到 127.0.0.1 的 TCP/IP 连接。有关更多信息,请参阅 第 6.2.4 节“使用命令选项连接到 MySQL 服务器”

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

--protocol 使用的传输协议 适用平台
TCP TCP/IP 所有
SOCKET Unix 套接字文件 Unix 和类 Unix 系统
PIPE 命名管道 Windows
MEMORY 共享内存 Windows

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

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

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

localhost 的解释

如果未显式指定传输协议,则 localhost 的解释如下:

  • 在 Unix 和类 Unix 系统上,连接到 localhost 会导致套接字文件连接。

  • 否则,连接到 localhost 会导致连接到 127.0.0.1 的 TCP/IP 连接。

如果显式指定了传输协议,则 localhost 会根据该协议进行解释。例如,使用 --protocol=TCP 时,在所有平台上,连接到 localhost 都会导致连接到 127.0.0.1 的 TCP/IP 连接。

加密和安全特性

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

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

  • 默认情况下,TCP/IP 连接是不安全的,但可以使用加密来确保其安全。

  • 默认情况下,套接字文件连接是安全的。它们也可以加密,但加密套接字文件连接不会使其更安全,反而会增加 CPU 负载。

  • 默认情况下,命名管道连接是不安全的,并且不能使用加密来确保其安全。但是,可以使用 named_pipe_full_access_group 系统变量来控制哪些 MySQL 用户可以使用命名管道连接。

  • 默认情况下,共享内存连接是安全的。

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

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

连接压缩

所有传输协议都可以在客户端和服务器之间的流量上使用压缩。如果对给定的连接同时使用压缩和加密,则在加密之前进行压缩。有关更多信息,请参阅 第 6.2.8 节“连接压缩控制”