无法通过套接字“/tmp/mysql.sock”连接到本地MySQL服务器(2)

我已经安装了MySQL服务器并试图连接到它,但得到的错误:

Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 

我检查了我的/ tmp目录,并没有mysql.sock。 我无法在任何地方findmysql.sock。 我读过它可能在

  /var/lib/mysql/mysql.sock 

但我也检查,甚至有没有MySQL目录,只有一些后缀/ lib中的东西。 任何人都可以帮我解决这个问题吗?

尝试运行在命令行mysql.server start

$ mysql.server start

我在更新OS X Yosemite后得到了同样的问题,那么解决方法很简单,检查系统首选项 – > mysql,状态是STOP。 只需重新启动它,它现在可以在我的Mac上正常工作。

对于MAMP

 ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock 

https://coderwall.com/p/w5kwzw/solved-can-t-connect-to-local-mysql-server-through-socket-tmp-mysql-sock

更新:每当我的电脑重新启动,我不得不input这个命令,所以我创build了一个快捷方式。

在terminaltypes中执行以下操作:

 ~: vi ~/.profile 

 alias ...='source ~/.profile' alias sockit='sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock' 

保存。

terminaltypes:

~: ...来源.profileconfiguration。

现在在terminal,你可以input

 ~: sockit 

以下命令解决了我的问题:

 sudo chown -R _mysql:mysql /usr/local/var/mysql sudo mysql.server start 

在你的mysqlconfiguration文件里,在/etc/my.cnf进行下面的修改,然后重新启动mysqld dameon进程

 [client] socket=/var/lib/mysql/mysql.sock 

以及检查这个相关的线程

无法通过套接字“/tmp/mysql.sock”连接到本地MySQL服务器

解决了我的问题之后:

检查你的MySQL服务器列在哪里:netstat -nlp如果是列表到TCP然后使用127.0.0.1连接到数据库而不是“localhost”

在这里检查MySQL文档

试试这个对我有效。

sudo /usr/local/mysql/support-files/mysql.server启动

在尝试所有的解决scheme之后,它只能在指定主机后为我工作

 mysql -u root -p -h127.0.0.1 

当要求密码时

 Enter password: 

按回车

如果一切都如上所述,它将工作。

如果您在Mac OS X中使用XAMPP,并且已经使用Homebrew安装了MySQL,则可能会遇到此问题。 在XAMPPpipe理器窗口中,进入pipe理服务器并selectMySQL,然后点击configuration并打开configuration文件,在那里你有套接字文件path,把path放在你的MySQL主机configuration中,它应该工作。

这是这样的:

 ... [client] #password = your_password port = 3306 socket = /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock ... 

那么,例如在Django中:

 ... DATABASES = { "default": { "ENGINE": "django.db.backends.mysql", "NAME": "database_name", "USER": "user", "PASSWORD": "password", "HOST": "/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock", "PORT": "", } } ... 

希望这可以帮助。

对于CentOS来说,init mysql的文件位于这里:

 /etc/init.d/mysqld start