在使用Homebrew安装的MySQL过程中遇到ERROR 2002 (HY000)错误

7

我以前使用MAMP,但已从我的MAC OS完全删除它。

  1. 我使用brew安装了mysql5.7
  2. 将mysql路径添加到zshrc / bash配置文件中
  3. 使用brew services start mysql@5.7启动mysql服务

现在当我尝试在命令行上访问mysql时,它会给我错误信息ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/Applications/MAMP/tmp/mysql/mysql.sock' (2)

虽然我已经将套接字路径添加到/tmp/mysql.sock中的my.cnf,并尝试创建相同的符号链接来解决ERROR 2002(HY000):Can't connect to local MySQL server through socket '/Applications/MAMP/tmp/mysql/mysql.sock' (2)问题,但无效果。

请求给予建议!


阅读 https://bugs.mysql.com/bug.php?id=61011 和 http://www.getsymphony.com/discuss/thread/82299/#position-7,是否没有文件可以全局配置?或者使用 ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock 建立符号链接作为解决方法。 - JoSSte
你之前有安装过MySQL吗,比如MAMP或XAMP?当你运行brew services list时,你是否看到MySQL服务正在运行? - Christos Lytras
2
你能发布MySQL错误日志内容吗?至少最后50行。 - Jesus Uzcanga
你的套接字位于/tmp/mysql.sock?这是绝对路径吗?错误搜索在/tmp/mysql/mysql.sock还是/Applications/MAMP/tmp/mysql/mysql.sock - Ron
@ChristosLytras - 是的,因为我使用了MAMP,所以从MAMP堆栈中获取了mysql服务。Ron - Mysql服务在/Applications/MAMP/tmp/mysql/mysql.sock上查找套接字。 - Rizwan Dhuka
2个回答

0

这是服务器没有真正启动的标志。 运行:

ps aux|grep mysql

如果你发现一个mysql服务器进程,有可能是没有正确安装。

最好的方法是卸载,如果你的数据库里没有重要的东西,然后再重新安装。你可以尝试重新安装,但这通常不能解决问题。

brew services list 

brew uninstall mysql@YOUR_VERSION

brew install mysql@DESIRED_VERSION

你有一个配置文件在某个路径中。检查路径和my.conf或搜索每个*.conf文件,其中包含/Applications/MAMP/tmp/mysql/mysql.sock。 - detzu
感谢您的迅速回复,但我已经检查了与mysql相关的配置文件,但在其中找不到MAMP mysql.sock的引用。 是否有任何苹果启动/加载服务的引用需要修改以删除MAMP mysql引用? - Rizwan Dhuka

0

[1] 几周前我遇到了类似的问题,解决方法是更改我的 brew 权限。尝试一些答案 在这个 stackoverflow 答案和其余的线程中

sudo chown -R $(whoami) $(brew --prefix)/*

[2] Brew 告诉你有一堆文件夹权限问题,以及每个文件夹的解决方法。运行 brew doctor 中提到的命令,它应该可以正常工作。这是我的 brew doctor 的输出:

You should change the ownership of these directories to your user.  
> sudo chown -R $(whoami) /usr/local/Cellar /usr/local/Frameworks /usr/local/Homebrew /usr/local/bin /usr/local/etc /usr/local/etc/bash_completion.d /usr/local/include /usr/local/lib /usr/local/lib/pkgconfig /usr/local/lib/python3.7/site-packages /usr/local/opt /usr/local/sbin /usr/local/share /usr/local/share/aclocal /usr/local/share/doc /usr/local/share/info /usr/local/share/locale /usr/local/share/man /usr/local/share/man/man1 /usr/local/share/man/man3 /usr/local/share/man/man5 /usr/local/share/man/man7 /usr/local/share/man/man8 /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var/homebrew/linked /usr/local/var/homebrew/locks /usr/local/var/log

And make sure that your user has write permission.
> chmod u+w /usr/local/Cellar /usr/local/Frameworks /usr/local/Homebrew /usr/local/bin /usr/local/etc /usr/local/etc/bash_completion.d /usr/local/include /usr/local/lib /usr/local/lib/pkgconfig /usr/local/lib/python3.7/site-packages /usr/local/opt /usr/local/sbin /usr/local/share /usr/local/share/aclocal /usr/local/share/doc /usr/local/share/info /usr/local/share/locale /usr/local/share/man /usr/local/share/man/man1 /usr/local/share/man/man3 /usr/local/share/man/man5 /usr/local/share/man/man7 /usr/local/share/man/man8 /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var/homebrew/linked /usr/local/var/homebrew/locks /usr/local/var/log

所以你的意思是这个问题是重复的,为什么要通过链接另一个答案来回答呢? - Alexandre Elshobokshy
在“brew doctor”命令中,我没有收到任何建议来修复权限问题。 - Rizwan Dhuka

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接