mysqli :: mysqli():(HY0002002):无法通过套接字'MySQL'连接到本地MySQL服务器(2)

mysqli :: mysqli():(HY0002002):无法通过套接字'MySQL'连接到本地MySQL服务器(2),第1张

mysqli :: mysqli():(HY000 / 2002):无法通过套接字'MySQL'连接到本地MySQL服务器(2)

当您仅使用“ localhost”时,MySQL客户端库将尝试使用Unix域套接字进行连接,而不是TCP /
IP连接。该错误告诉您,名为的套接字

MySQL
无法用于建立连接,可能是因为该套接字不存在(错误编号2)。

从MySQL文档:

在Unix上,MySQL程序特别对待主机名localhost,与其他基于网络的程序相比,它可能与您期望的不同。为了连接到本地主机,MySQL程序尝试使用Unix套接字文件连接到本地服务器。即使给
–port或-P选项指定端口号,也会发生这种情况。为确保客户端与本地服务器建立TCP / IP连接,请使用–host或-
h指定主机名值127.0.0.1,或本地服务器的IP地址或名称。您也可以使用–protocol =
TCP选项来显式指定连接协议,即使是本地主机也是如此。

有几种方法可以解决此问题。

  1. 您可以只使用TCP / IP而不是Unix套接字。您可以通过使用
    127.0.0.1
    代替
    localhost
    连接时进行此 *** 作。但是,Unix套接字使用起来可能更快,更安全。
  2. 您可以在以下位置更改套接字
    php.ini
    :打开MySQL配置文件
    my.cnf
    以查找MySQL在何处创建套接字,并将PHP设置
    mysqli.default_socket
    为该路径。在我的系统上是
    /var/run/mysqld/mysqld.sock
  3. 打开连接时,直接在PHP脚本中配置套接字。例如:
    $db = new MySQLi('localhost', 'kamil', '***', '', 0,     '/var/run/mysqld/mysqld.sock')


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5018062.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存