我在 OSX 上运行 mysql,现在当我重新启动计算机时,它不会创建 mysql.sock,这意味着我的所有连接都会给我一个错误 2002。
有谁知道如何防止这种情况?
我在 OSX 上运行 mysql,现在当我重新启动计算机时,它不会创建 mysql.sock,这意味着我的所有连接都会给我一个错误 2002。
有谁知道如何防止这种情况?
我在 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 套接字文件在正确的位置生成,并且一切都应该正常工作。祝你好运!
我使用 Mac OS 10.12 Sierra,我遇到了同样的 mysql 问题。我可以在我的文件系统中找到 mysql.sock。
解题方法:
或者
sudo 丢失 -i tcp:3306
mysql 运行正常。
我曾经在 Linux 机器上遇到过这个问题,我发现目录 (/var/run/mysqld) 不能被用户 mysql 运行为可写。如果我是你,我会检查的。
我建议执行
sudo find / -name "mysql.sock"
确保文件不在任何地方。
在我的案例中,我以这种方式使用了带有变体套接字的命令 mysql
mysql --socket=/var/lib/mysql/mysql.sock
我在运行 Sierra 的机器上重新启动 MySQL 时遇到了麻烦。每次我在重新启动机器后尝试连接时,我都会失去连接到我的 MySQL 实例的能力。根据这篇文章,我确定我的环境中确实没有 my.cnf 文件。我按照 DashRantic 的说明强制构建套接字文件。它似乎已经解决了这个问题。