MySQL 的连接传输协议

mysqlmysqli database

使用 MySQL 客户端库的程序(例如 ‘mysql’ 和 ‘mysqldump’)借助多种传输协议(例如 TCP/IP、Unix 套接字文件、命名管道、共享内存等)支持 MySQL 连接到服务器。让我们了解 MySQL − 使用的连接传输协议

下表显示了 --protocol 允许的值,并告诉每个值适用的平台。需要注意的是,这些值不区分大小写。

--protocol valueTransport protocol usedApplicable platforms
TCPTCP/IPAll
SOCKETUnix socket fileUnix and Unix-like systems
PIPENamed pipeWindows
MEMORYShared memoryWindows

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 用户有权使用命名管道连接。

  • 共享内存连接默认是安全的。


相关文章