mysql.sock没有创建OSX

时间:2011-01-31 02:11:32

标签: mysql osx-snow-leopard mysql.sock

我在OSX上运行mysql,现在当我重新启动计算机时,它没有创建mysql.sock,这意味着我所有的连接都给了我一个错误2002.

谁知道如何防止这种情况?

5 个答案:

答案 0 :(得分:17)

我在Snow Leopard上遇到了同样的问题,因为OS X上的某些原因,套接字在错误的位置产生。

要使套接字在正确的位置生成: 使用以下行在/ etc中创建一个新文件“my.cnf”:

[mysqld]
socket=/var/mysql/mysql.sock

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

并重新启动mysqld:sudo / usr / local / mysql / bin / mysqld_safe

这会强制MySQL套接字文件在适当的位置生成,一切都应该正常工作。祝你好运!

答案 1 :(得分:4)

我使用Mac OS 10.12 Sierra,我遇到了同样的mysql问题。我可以在我的文件系统中找到mysql.sock。

解决问题方法:

1删除my.cnf

sudo rm -rf /etc/my.cnf

重启你的mysql服务器

brew服务重启mysql

sudo launchctl unload -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

sudo launchctl load -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

你可以查一下

sudo lost -i tcp:3306

enter image description here

mysql运行正常。

enter image description here

答案 2 :(得分:2)

我曾经在Linux机器上遇到过这个问题,我发现用户mysql运行的目录(/ var / run / mysqld)是不可写的。如果我是你,我会检查一下。

答案 3 :(得分:1)

我建议执行

sudo find / -name "mysql.sock"

确保文件不在任何地方。

在我的cas中,我以这种方式使用mysql和variant socket命令

mysql --socket=/var/lib/mysql/mysql.sock

答案 4 :(得分:0)

我在运行Sierra的盒子上重启MySQL时遇到了麻烦。每次重新启动我的机器后我都尝试连接时,我将无法连接到我的MySQL实例。根据这篇文章,我确定在我的环境中确实没有my.cnf文件。我按照DashRantic的指示强制构建套接字文件。它似乎解决了这个问题。