首页  >  问答  >  正文

警告:mysqli_connect():(HY000/2002):找不到文件或目录

我正在尝试在我的 Mac 上安装普通论坛,为此我刚刚从 MySQL 命令行创建了一个数据库和一个用户:

mysql> CREATE DATABASE vanilla;
Query OK, 1 row affected (0.00 sec)

mysql> create user 'vanilla_user3'@'localhost' IDENTIFIED BY 'vanilla_password';
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON * . * TO 'vanilla_user3'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

所以我尝试使用以下代码进行连接:

$con=mysqli_connect("localhost","vanilla_user3","vanilla_password","vanilla");
if (mysqli_connect_errno($con)) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

但不幸的是,我收到一条错误消息

警告:mysqli_connect():(HY000/2002):第 3 行 /Users/kramer65/Sites/vanilla/info.php 中没有此类文件或目录 无法连接到 MySQL:没有这样的文件或目录

知道我哪里出错了吗?

P粉350036783P粉350036783272 天前406

全部回复(2)我来回复

  • P粉043432210

    P粉0434322102024-01-22 13:45:29

    我遇到了同样的问题,但问题与 php.ini 文件有关。

    我必须在 /etc/php.ini (或 php.ini 所在的任何位置)中编辑这两行:

    mysql.default_socket = /tmp/mysql.sock
    mysqli.default_socket = /tmp/mysql.sock

    重新启动 apache 服务器以确保更改得到反映。

    sudo apachectl restart

    回复
    0
  • P粉949848849

    P粉9498488492024-01-22 10:48:18

    好吧,我刚刚找到了解决方案。问题原来是主机不应该是localhost,而是127.0.0.1。我一直以为localhost127.0.0.1是一样的,结果不一样。

    因此,也许作为对未来用户的提示,在有疑问时始终使用 IP。

    回复
    0
  • 取消回复