我在Mac OS X Mountain Lion上安装了MySQL,但当我尝试MySQL -u root时,我得到了以下错误:

错误2002 (HY000):无法通过套接字/tmp/ MySQL连接到本地MySQL服务器。袜子”(2)

这个错误意味着什么?我该怎么解决呢?


当前回答

警告:此方法将删除/usr/local/var/mysql文件夹中的所有数据库

我在Homebrew上安装了MySQL,唯一解决这个问题的方法就是重新安装MySQL。

在我公司的笔记本电脑上,我没有通过Homebrew卸载MySQL的权限:

$ brew uninstall mysql --ignore-dependencies
Uninstalling /usr/local/Cellar/mysql/8.0.12... (255 files, 233.0MB)
Error: Permission denied @ dir_s_rmdir - /usr/local/Cellar/mysql/8.0.12

所以,我手动删除并重新安装MySQL:

$ sudo rm -rf /usr/local/Cellar/mysql
$ brew cleanup
$ sudo rm -rf /usr/local/var/mysql
$ brew install mysql

这奏效了!

其他回答

执行命令:brew info mysql

按照说明做。由公式中的描述可知:

Set up databases to run AS YOUR USER ACCOUNT with:
    unset TMPDIR
    mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

To set up base tables in another folder, or use a different user to run
mysqld, view the help for mysql_install_db:
    mysql_install_db --help

and view the MySQL documentation:
  * http://dev.mysql.com/doc/refman/5.5/en/mysql-install-db.html
  * http://dev.mysql.com/doc/refman/5.5/en/default-privileges.html

这里有很多其他有用的回答,但没有什么能解决我的问题。最终,我在这个网站或其他网站上找到的任何版本的MySQL都不适合我。

只需要从https://dev.mysql.com/downloads/file/?id=479114下载DMG(找到你需要的合适版本),然后让向导为我安装它,这是超级轻松的。另外一个手动步骤是将/usr/local/mysql/bin添加到PATH中。

如果酿造给你带来麻烦,我推荐这个选择。

更新-如果这仍然不能解决它,在通过DMG安装之前尝试完全清除mysql。请遵循以下说明:https://gist.github.com/vitorbritto/0555879fe4414d18569d

在做了几个小时之后,对我有用的是 进入/etc/mysql/,编辑my.cnf文件。添加以下内容

[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock

在我的mac m1 macOS Monterey上安装MySQL后,使用brew安装MySQL,我得到了以下信息:

[System] [MY-013169] [Server] /opt/homebrew/Cellar/mysql/8.0.27_1/bin/mysqld (mysqld 8.0.27) initializing of server in progress as process 3624

[ERROR] [MY-010457] [Server] --initialize specified but the data directory has files in it. Aborting.

[ERROR] [MY-013236] [Server] The designated data directory /opt/homebrew/var/mysql/ is unusable. You can remove all files that the server added to it.

[ERROR] [MY-010119] [Server] Aborting

[System] [MY-010910] [Server] /opt/homebrew/Cellar/mysql/8.0.27_1/bin/mysqld: Shutdown complete (mysqld 8.0.27)  Homebrew.

还有这个警告:

Warning: The post-install step did not complete successfully You can
try again using:   brew postinstall mysql

之后,我尝试使用brew services启动MySQL,我得到了这个错误:

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

我设法修复它使用:

> rm -rf ~/opt/homebrew/var/mysql/
> brew postinstall mysql

现在您可以使用mysql -uroot或mysql -uroot -p连接。

只有这一点让我成功了 酿造服务启动——全部启动 (试完所有答案后)