对于使用MySQL客户端库的程序(例如,mysql和mysqldump.), MySQL支持基于几种传输协议连接到服务器:TCP/IP, Unix套接字文件,命名管道和共享内存。介绍如何选择这些协议,以及它们的相似和不同之处。
对于给定连接,如果未明确指定传输协议,则隐含地确定。例如,连接到localhost.
导致UNIX和UNIX的系统上的套接字文件连接,以及TCP / IP连接127.0.0.1
否则。有关其他信息,请参见第4.2.4节,“使用命令选项连接MySQL服务器”.
要明确指定协议,请使用- 协议
命令选项。下表显示了允许的值- 协议
并指示每个值的适用平台。值不区分大小写。
- 协议 价值 |
使用传输协议 | 适用的平台 |
---|---|---|
TCP. |
TCP / IP. | 全部 |
插座 |
UNIX套接字文件 | Unix和类Unix系统 |
管道 |
命名管道 | 视窗 |
内存 |
共享内存 | 视窗 |
TCP / IP传输支持与本地或远程MySQL服务器的连接。
套接字文件,命名管道和共享内存传输仅对本地MySQL服务器的支持连接。(命名管道传输允许远程连接,但此功能不在MySQL中实现。)
如果没有明确指定传输协议,localhost.
解释如下:
在UNIX和UNIX的系统上,连接到
localhost.
导致一个套接字文件连接。否则,连接
localhost.
导致TCP / IP连接127.0.0.1
.
如果明确指定了传输协议,localhost.
被解释为该协议。例如,——= TCP协议
,连接localhost.
导致TCP / IP连接127.0.0.1
在所有平台上。
TCP/IP和套接字文件传输采用TLS/SSL加密,使用中描述的选项加密连接命令选项.命名管道和共享内存传输不受TLS/SSL加密的限制。
如果通过默认安全的传输协议进行连接,则该连接在默认情况下是安全的。否则,对于受TLS/SSL加密限制的协议,连接可以通过加密实现安全:
TCP/IP连接在默认情况下并不安全,但可以通过加密使其安全。
默认情况下,套接字文件连接是安全的。它们也可以加密,但加密套接字文件连接使得它不会更安全并增加CPU负载。
默认情况下,命名管道连接不安全,并且不受加密的影响,以使其安全。然而
named_pipe_full_access_group
system变量可以用来控制哪些MySQL用户被允许使用命名管道连接。共享内存连接在默认情况下是安全的。
如果是require_secure_transport
系统变量已启用,服务器仅允许使用某种形式的安全传输的连接。根据前面的备注,使用使用TLS / SSL,套接字文件或共享内存加密的TCP / IP的连接是安全的连接。使用TLS / SSL和命名管连接未加密的TCP / IP连接不安全。
另请参阅将加密连接配置为强制性.
所有传输协议都必须在客户端和服务器之间的通信中使用压缩。如果对给定的连接同时使用了压缩和加密,则压缩发生在加密之前。有关更多信息,请参见第4.2.8节“连接压缩控制”.