【问题标题】:What is a socket (MySQL)什么是套接字(MySQL)
【发布时间】:2014-04-26 15:07:13
【问题描述】:

我正在使用 PHP 中的 mysqli 类连接到 MySQL。类构造函数有 6 个参数:主机、用户名、密码、数据库名、端口和套接字。除了最后一个,我都明白了。在这种情况下什么是套接字,为什么它是可选的?

【问题讨论】:

    标签: php mysql sockets unix mysqli


    【解决方案1】:

    该参数用于指定unix socket的路径。这仅应在主机为 localhost 且套接字不在默认位置时使用。

    在 Unix 上,MySQL 程序会特别对待主机名 localhost, 以一种可能与您所期望的方式不同的方式 其他基于网络的程序。对于到 localhost、MySQL 的连接 程序尝试使用 Unix 套接字 连接到本地服务器 文件

    【讨论】:

    • 它有目的吗?它与 Microsoft Windows 无关吗?
    【解决方案2】:

    它是对UNIX socket(也称为“命名管道”)的引用,由 UNIX 命令mkfifo 创建。 MySQL 可以使用 Internet 套接字 (addr:port) 或 UNIX 套接字(在文件系统上)进行连接。

    【讨论】:

    • 它有目的吗?它与 Microsoft Windows 无关吗?
    • Windows 中一个非常粗略的等价物是命名管道。
    • 好吧,我不知道那是什么。
    • en.wikipedia.org/wiki/Named_pipe 也可能有帮助。基本上,它是地址+端口 (TCP) 连接的替代方案,并且绕过内核的网络部分,使其速度更快,但只能在同一台机器上工作。
    猜你喜欢
    • 2010-12-16
    • 2017-01-25
    • 2012-06-11
    • 2013-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-13
    • 2011-07-28
    相关资源
    最近更新 更多