MySQL连接无法工作:2002没有这个文件或目录。

126

我正在尝试设置WordPress。 我已经运行了Apache和MySQL,并且帐户和数据库都已设置好。 我尝试建立一个简单的连接:

<?php
    $conn = mysql_connect('localhost', 'USER', 'PASSWORD');
    if(!$conn) {
        echo 'Error: ' . mysql_errno() . ' - ' . mysql_error();
    }
?>

我一直收到这个错误信息:

错误:2002 - 没有这样的文件或目录

它可能指哪个文件或目录呢?

我使用内置的Apache,运行在OS X Snow Leopard上。我使用x86_64 dmg安装了MySQL。

更新:我发现socket在 /tmp/mysql.sock,所以在php.ini中,我用该路径替换了所有错误路径的出现。


2
如果您使用的是基于Debian的发行版,请返回“/etc/init.d/mysql start”的输出。如果失败,请检查“/etc/my.cnf”文件以获取正确的MySQL套接字文件路径。 - sepehr
7
在使用XAMPP时,我在OS X上解决了同样的问题,方法是将“localhost”替换为“127.0.0.1”。 - Giuseppe Urso
23个回答

0

我在我的服务器上使用PHP-FPM或多个PHP版本。在我的情况下,我更新了mysqli值,因为没有mysql默认套接字参数:

mysqli.default_socket

至:

mysql.default_socket = /path/to/mysql.sock

感谢 @Alec Gorge


0
我有同样的问题。我的套接字最终在 /tmp/mysql.sock 中找到。然后我将该路径添加到了 php.ini 中。我通过在 MySQL Workbench 中检查“服务器状态”页面找到了套接字。如果您的套接字不在 /tmp/mysql.sock 中,那么也许 MySQL Workbench 可以告诉您它在哪里呢?(前提是您使用 MySQL Workbench…)

-2

启用并启动Mariadb服务

sudo systemctl enable mariadb.service

sudo systemctl start mariadb.service


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接