如何强制 MySQL 通过 TCP 而不是 Unix 套接字连接?


诸如“mysql”和“mysqldump”之类的程序,它们使用 MySQL 客户端库,可以借助多种传输协议(例如 TCP/IP、Unix 套接字文件、命名管道、共享内存等)支持 MySQL 连接到服务器。

对于给定的连接,如果未指定传输协议,则将其确定为单独的任务。

示例

连接到 localhost 将在 Unix 和类 Unix 系统上导致套接字文件连接,而在其他情况下则导致到 127.0.0.1 的 TCP/IP 连接。如果必须特别指定协议,则使用 --protocol 命令选项来完成。

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

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

TCP/IP 传输也支持连接到本地或远程 MySQL 服务器。套接字文件、命名管道和共享内存传输仅支持连接到本地 MySQL 服务器。需要注意的是,命名管道传输确实允许远程连接,但截至目前,MySQL 中尚未实现此功能。

传输协议 - 未指定

如果未指定传输协议,则 localhost 被解释为 -

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

  • 在其他系统上,连接到 localhost 将导致到 127.0.0.1 的 TCP/IP 连接。

传输协议 - 已指定

如果指定了传输协议,则根据该特定协议解释 localhost。

更新于: 2021-03-09

720 次查看

启动您的 职业生涯

通过完成课程获得认证

开始
广告