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

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

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


当前回答

指定数据目录/usr/local/var/mysql/不可用。您可以删除服务器添加到其中的所有文件。

MacOS: $brew服务停止mysql $brew服务列表 卸载mysql 安装mysql $brew postinstall mysql 如果发现任何错误,则运行这些cmd ! 警告:这将删除该服务器上的所有数据库: $sudo rm -rf /usr/local/var/mysql $sudo rm /usr/local/etc/my.cnf $brew postinstall mysql $brew服务启动mysql mysql_secure_installation美元 安全安装完成后运行

$mysql -u root -p

恭喜你已经安装好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服务器没有运行。

这是由于MySQL没有正确设置在我的机器上,因此不能运行。

为了解决这个问题,我使用了一个在Mac OSX Mountain Lion上安装MySQL的脚本,该脚本必须安装丢失的文件。

链接如下:http://code.macminivault.com/

重要提示:该脚本将根密码设置为随机生成的字符串,保存在Desktop上,因此请注意不要删除该文件并记录密码。它还会在您的系统首选项中安装MySQL管理器。我也不确定是否删除任何现有的数据库,所以要小心。

警告:此方法将删除/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

这奏效了!

升级到Catalina OS后遇到类似的问题。运行mysqld命令后,我发现日志文件有一些问题。对其他人来说可能不一样。

$ mysqld

问题是

2019-10-16T04:58:59.174474Z 0 [ERROR] Could not open file '/var/log/mysql/error.log' for error logging: No such file or directory
2019-10-16T04:58:59.174508Z 0 [ERROR] Aborting

通过创建它并应用适当的权限来解决它。

sudo mkdir -p /var/log/mysql
sudo touch /var/log/mysql/error.log
sudo chown -R _mysql:mysql /var/log/mysql/

重新启动MySQL

brew services restart mysql@5.7

问题解决了。

mysql -uroot -proot

这发生在自制程序安装之后,由于权限问题而发生。下面的命令解决了这个问题。

sudo chown -R _mysql:mysql /usr/local/var/mysql

sudo mysql.server start