MySQL如何强制使用TCP而不是Unix套接字进行连接
使用MySQL客户端库的程序,如“mysql”和“mysqldump”,可以通过许多传输协议连接到MySQL服务器,例如TCP/IP,Unix套接字文件,命名管道,共享内存等。
就给定的连接而言,如果未指定传输协议,则它将被视为单独的任务。
阅读更多:MySQL 教程
举例说明
localhost的连接将在Unix和类Unix系统上导致套接字文件连接,在其他系统上导致对127.0.0.1的TCP/IP连接。如果必须特别指定协议,则使用–protocol命令选项完成此操作。
以下表格显示了–protocol允许的值,并告知每个值适用的平台。请注意,这些值不区分大小写。
--protocol的值 | 使用的传输协议 | 适用的平台 |
---|---|---|
TCP | TCP/IP | 所有系统 |
SOCKET | Unix套接字文件 | Unix和类Unix系统 |
PIPE | 命名管道 | Windows系统 |
MEMORY | 共享内存 | Windows系统 |
TCP/IP传输还支持连接到本地或远程MySQL服务器。套接字文件,命名管道和共享内存传输仅支持连接到本地MySQL服务器。请注意,命名管道传输确实允许远程连接,但是MySQL目前尚未实现此功能。
未指定传输协议
如果未指定传输协议,则localhost被解释为:
- 在Unix和类Unix系统中,连接到localhost会导致套接字文件连接。
-
在其他系统上,连接到localhost会导致对127.0.0.1的TCP/IP连接。
指定传输协议
如果指定了传输协议,则localhost的解释取决于该特定协议。