MySQL 连接传输协议
诸如“mysql”和“mysqldump”之类的程序使用 MySQL 客户端库,借助许多传输协议(如 TCP/IP、Unix 套接字文件、命名管道、共享内存等)支持 MySQL 连接到服务器。让我们了解一下 MySQL 使用的连接传输协议。
下表显示了允许用于 --protocol 的值,并说明了每个值适用的平台。需要注意的是,这些值不区分大小写。
--protocol 值 | 使用的传输协议 | 适用平台 |
---|---|---|
TCP | TCP/IP | 所有平台 |
SOCKET | Unix 套接字文件 | Unix 和类 Unix 系统 |
PIPE | 命名管道 | Windows |
MEMORY | 共享内存 | Windows |
TCP/IP
TCP/IP 传输也支持连接到本地或远程 MySQL 服务器。
命名管道传输
命名管道传输允许远程连接,但截至目前,MySQL 中尚未实现此功能。仅支持连接到本地 MySQL 服务器。它不需要 TLS/SSL 加密。
套接字文件
套接字文件传输仅支持连接到本地 MySQL 服务器。它可以进行 TLS/SSL 加密。
共享内存
它传输仅支持连接到本地 MySQL 服务器。它不需要 TLS/SSL 加密。
如何使连接安全?
如果连接通过默认情况下安全的传输协议建立,则默认情况下连接是安全的。否则,对于 TLS/SSL 加密的协议,可以使用加密来创建安全连接。
TCP/IP 连接默认情况下不安全,但可以加密以使其安全。
套接字文件连接默认情况下是安全的。它们可以加密,但这不会使其更安全,只会增加 CPU 负载。
命名管道连接默认情况下不安全,并且不需要加密即可使其安全。但是,提供了 named_pipe_full_access_group 系统变量,有助于控制哪些 MySQL 用户可以获得使用命名管道连接的权限。
共享内存连接默认情况下是安全的。
广告