错误2002 MYSQL套接字/tmp/mysql.sock

A已经阅读了关于这个错误的所有信息,但我并没有解决这个问题。

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (38) 

我试图在我的Mac OsX上安装mysql,但是当我尝试连接到数据库( mysql -u root -p )时,我看到了这个问题, ERROR 2002

我在/usr/local/mysql安装了Mysql

检查MySQL守护进程正在运行

你可以从** Terminal Application *中检查mysqld守护进程是否正在运行:

 ps -feax | grep mysqld 

并validation你得到了类似的东西:

  0 8308 1 0 0:00.08 ?? 0:00.11 /bin/sh /usr/local/mysql/bin/mysqld_safe 

或者在Activity Monitor应用程序上寻找一个mysqld进程

如果没有运行,你必须启动守护进程。

启动MySQL守护进程

在Mac OSX上,你可以从terminal应用程序启动守护进程,如下所示:

 sudo /usr/local/mysql/bin/mysqld_safe & 

再次检查,现在MySQL守护进程正在运行,如前所述。

你说你运行mysql -u root -p时会出错

这将查找一个套接字文件来连接。 当mysqld启动时,套接字文件可能无法生成,并且仍然启动mysqld(请参阅我的post percona-server在/etc/init.d/mysql start超时 )

尝试使用以下其中一种方法查看是否可以在没有套接字文件的情况下连接

  • mysql -u root -p -h127.0.0.1
  • mysql -u root -p -h127.0.0.1 --protocol=tcp

如果你可以连接其中的一个,像这样closuresmysql

 mysqladmin -u root -p -h127.0.0.1 --protocol=tcp shutdown 

mysqld应该正常closures。 之后,照常启动mysql

试一试 !!!

我有完全相同的问题,我search了每个可能的网站解决这个问题,并不能解决这个问题。 不过,今天我从Mac的terminal上做了一个简单的命令行,就是我刚input的mysql -u root ,然后解决了我的问题。

让我知道这个解决scheme是否有帮助。

我知道这是一个较旧的post,但是我花了最后一个小时左右在serverfault,StackOverflow和DataBasepipe理员之间来回奔跑,试图在使用自制软件在Mac(El Capitan)上安装后,如何解决这个问题。

至less在我的情况下, 这个职位的build议工作:

 # Run the following commands mysqld stop mysql.server start 

从我能收集到的,我认为(至less在我的情况下)brew mysql没有初始化永久套接字,我的networkingpipe理员locking连接新进程的能力通过/ tmp / …

我正在使用MacOX El Capitan 10.11.3,我遇到了上述问题,没有任何答案独立工作。 然后我尝试了user153254和Adam的组合,它的function就像一个魅力!

 mysqld stop mysql.server start mysql -u root 

避免使用mysql -u root -p这个技巧