我在OSX上运行mysql,现在当我重新启动计算机时,它没有创建mysql.sock,这意味着我所有的连接都给了我一个错误2002.
谁知道如何防止这种情况?
答案 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。
解决问题方法:
或
sudo lost -i tcp:3306
mysql运行正常。
答案 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的指示强制构建套接字文件。它似乎解决了这个问题。