我在Mac OS X Mountain Lion上安装了MySQL,但当我尝试MySQL -u root时,我得到了以下错误:

错误2002 (HY000):无法通过套接字/tmp/ MySQL连接到本地MySQL服务器。袜子”(2)

这个错误意味着什么?我该怎么解决呢?


当前回答

指定数据目录/usr/local/var/mysql/不可用。您可以删除服务器添加到其中的所有文件。

MacOS: $brew服务停止mysql $brew服务列表 卸载mysql 安装mysql $brew postinstall mysql 如果发现任何错误,则运行这些cmd ! 警告:这将删除该服务器上的所有数据库: $sudo rm -rf /usr/local/var/mysql $sudo rm /usr/local/etc/my.cnf $brew postinstall mysql $brew服务启动mysql mysql_secure_installation美元 安全安装完成后运行

$mysql -u root -p

恭喜你已经安装好mysql了!

其他回答

我一直回到这篇文章,我已经遇到这个错误好几次了。这可能与在重新安装后导入所有数据库有关。

我用的是自制啤酒。唯一能帮我解决问题的是

sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

今天早上,在我的机器决定关闭一夜之后,这个问题又出现了。现在唯一能解决这个问题的就是升级mysql。

brew upgrade mysql

我花了好长时间才想明白。我在评论里看到的。在使用brew安装mysql后,启动服务(可能使用sudo brew services start mysql),然后运行:

$ mysqld

MySQL应该在后面为你运行。

如果你在OSX和XAMPP上,那么请遵循以下步骤:

感谢Jackstine的回答,我得以做到以下几点:

$ cat ~/.my.cnf

[mysql]

# CLIENT #
port                           = 3306
socket                         = /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock

我希望这能在我将来忘记的时候再次帮助我!

在尝试了许多解决方案之后,似乎最终成功的是通过IP连接。不再文件套接字被随机删除。

只需更新MySQL客户端配置(例如/usr/local/etc/my.cnf):

[client]
port = 3306
host=127.0.0.1
protocol=tcp

这发生在自制程序安装之后,由于权限问题而发生。下面的命令解决了这个问题。

sudo chown -R _mysql:mysql /usr/local/var/mysql

sudo mysql.server start