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

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

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


执行命令: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管理器。我也不确定是否删除任何现有的数据库,所以要小心。


这可能是因为MySQL已经安装但还没有运行。

要验证它正在运行,打开活动监视器,在“所有进程”下,搜索并验证你看到了进程“mysqld”。

你可以通过安装“MySQL.prefPane”来启动它。

以下是帮助我的完整教程: http://obscuredclarity.blogspot.in/2009/08/install-mysql-on-mac-os-x.html


正如其他人指出的,这是因为MySQL已经安装,但服务没有运行。启动MySQL服务的方法有很多种,对我有用的方法如下。

启动服务。

转到“系统首选项” 在底部窗格中应该有MySql图标。 双击启动“MySQL服务器状态”,按下“启动MySQL服务器”按钮

我的环境:

Mac Yosemite 10.10.3

安装包:/Volumes/mysql-advanced-5.6.24-osx10.8-x86_64


下面我包括了最新的说明从brew安装mysql,以便更新搜索这个问题可以受益:

$ brew install mysql
==> Downloading https://homebrew.bintray.com/bottles/mysql-5.6.26.yosemite.bottle.1.tar.gz
######################################################################## 100.0%
==> Pouring mysql-5.6.26.yosemite.bottle.1.tar.gz

To connect:
    mysql -uroot

To have launchd start mysql at login:
  ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
Then to load mysql now:
  launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Or, if you don't want/need launchctl, you can just run:
  mysql.server start

在我的情况下,我现在通过launchctl load加载mysql ~/Library/LaunchAgents/homebrew.mx .mysql。Plist,然后能够启动$ mysql和我的方式。


在您的终端上使用MySQL命令之前,您需要启动MySQL。为此,运行brew services start mysql。默认情况下,brew安装MySQL数据库时不需要root密码。要确保安全,请运行mysql_secure_installation。

连接时执行:mysql -uroot。Root是这里的用户名。


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

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

sudo mysql.server start

在我的情况下,安装完MAMP后,从终端访问mysql会给出相同的套接字错误。最后,它想要的只是重新启动,而且它正在工作。


对我来说,这就像跑步一样简单:

/usr/local/opt/mysql/bin/mysqld_safe

而不是mysqld


解决方案围绕:

修改MySQL的权限 sudo chown -R _mysql:mysql /usr/local/var/mysql 启动MySQL进程 sudo mysql。服务器启动

如果上面的命令不能帮你解决这个问题,那就试着指定主机

mysql -u root -p h127.0.0.1

看起来你的mysql服务器没有启动。我通常运行stop命令,然后重新启动:

mysqld stop
mysql.server start

同样的错误,这也适用于我。


这解决了我的问题,当我重新启动mysql服务。运行:

brew services start mysql

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

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

在我的案例中,这只是删除一个锁文件的问题。

sudo rm -f /tmp/mysql.sock.lock

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

这奏效了!


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

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

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

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


卸载MySQL。 删除/usr/local/var/mysql/. 安装MySQL。


我花了好长时间才想明白。我在评论里看到的。在使用brew安装mysql后,启动服务(可能使用sudo brew services start mysql),然后运行:

$ mysqld

MySQL应该在后面为你运行。


我已经尝试了所有可能的方法来解决这个问题,比如ln -s /var/lib/mysql/mysql.袜子/ tmp / mysql。Sock,卸载并重新安装mysql,确保mysql在xampp上运行,但没有一个仍然工作。

最后,我打开my.cnf(配置文件)并复制套接字路径(确保复制完整路径,否则它将不起作用)。然后在我的终端中执行这个命令

mysql --socket=/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock

瞧,mysql启动了。

这个解决方案只会工作,如果你的MySQL显示在Xampp/Ampps上运行,但在终端它仍然没有连接到正确的套接字时,你已经尝试了类似的:

./mysql -u root

or

brew services start mysql

这个问题与/usr/local/var/mysql文件夹访问有关,我删除这个文件夹并重新安装mysql。

用brew卸载mysql: 卸载mysql 执行rm -r /usr/local/var/mysql Brew install mysql@8.0 Mysql -u root

这个解决方案很适合我! 但是你丢失了所有的数据库!警告!


我经历了这个问题,我设法运行mysql服务器使用下面的解决方案

通过.dmg(https://dev.mysql.com/downloads/mysql/5.7.html)安装mysql,你会在系统首选项中看到mysql服务面板,然后从面板中启动mysql并尝试

Mysql -u root -p

附图供参考


试试这个

rm -rf /usr/local/var/mysql && brew postinstall mysql@5.7 && brew services restart mysql@5.7

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


我建议你去跑步

  mysql.server start

在去之前

  mysql -u root -p

为了确保mysql服务器在登录之前正在运行

当你启动/重启一台没有运行mysql服务器的机器时,这种情况会发生很多次。


我一直回到这篇文章,我已经遇到这个错误好几次了。这可能与在重新安装后导入所有数据库有关。

我用的是自制啤酒。唯一能帮我解决问题的是

sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

今天早上,在我的机器决定关闭一夜之后,这个问题又出现了。现在唯一能解决这个问题的就是升级mysql。

brew upgrade 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

在尝试了许多解决方案之后,似乎最终成功的是通过IP连接。不再文件套接字被随机删除。

只需更新MySQL客户端配置(例如/usr/local/etc/my.cnf):

[client]
port = 3306
host=127.0.0.1
protocol=tcp

运行sudo chown _mysql /usr/local/var/mysql/*在尝试了所有这些SO答案中的大量选项后终于帮助了我。权限问题可能是由于机器关闭不当引起的。


在终端中点击“brew services start mysql”即可


如果你在OSX和XAMPP上,那么请遵循以下步骤:

感谢Jackstine的回答,我得以做到以下几点:

$ cat ~/.my.cnf

[mysql]

# CLIENT #
port                           = 3306
socket                         = /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock

我希望这能在我将来忘记的时候再次帮助我!


指定数据目录/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了!


我设法通过将localhost更改为127.0.0.1来解决这个问题


在使用了以上所有的解决方案后,没有一个对我有效,但这个有效。

如果你已经使用HomeBrew安装了MySQL,然后检查系统首选项> MySQL在你的mac中,MySQL服务器已经停止,如果它正在运行,请单击停止MySQL服务器,并从终端写入命令mysqlserver.start启动MySQL。

如果它不工作,你也可以尝试:-

如果您已经安装了MySQL工作台,那么只需卸载MySQL工作台和MySQL,然后先安装MySQL,再安装MySQL工作台。


对于我的例子,只需将host指定为127.0.0.1,而不是localhost:

$ bin/mysql -uroot -p -h127.0.0.1
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.26

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

在安装mysql的过程中,您可能会遇到一些问题,mysql服务可能无法运行。如果是这种情况,那么可能值得尝试以下步骤重新安装mysql,然后尝试连接。

sudo chown -R $(whoami) /usr/local/var

sudo chown -R $(whoami) /Library/Caches/Homebrew

brew uninstall mysql

brew install mysql

mysql.server start   

mysql -uroot  

Homebrew绝对不会使用标准的重新安装来修复权限,并且追踪哪个文件夹/文件损坏将花费比它值得的更长的时间。

在这种情况下-吹走mysql安装手动和重新安装通过自制。大约需要2分钟。

cd /usr/local/var

Sudo rm -rf mysql

安装mysql

Homebrew默认安装mysql是不安全的,所以如果你想要密码:

mysql_secure_installation

然后点火。

MySQL -uroot


在我的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连接。


如果你正在使用Kali linux,你可能需要显式地指定主机

用 Mysql -h 127.0.0.1 -u root 127.0.0.1是您的本地主机


1)->首先启动SQL server 2)(如果不存在)你必须在你安装的地方创建一个'etc'目录 Mysql ->在其中创建一个名为“Mysql .sock”的文件。 3)然后执行下面的行

 ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

4)重启服务器

5)找到mysql的路径。通过在线下执行Sock '

mysql -u root -p -h 127.0.0.1 -e "select @@socket"

现在你可以看到路径->复制该路径 6)复制完成后执行以下一行

mysql -u (username) -p -S (paste the path you copied)

7)现在,它起作用了。


没有工作。我只是重新安装mysql(不要担心你的数据保持不变)。

然后开始使用

sudo mysql.server start

这是所有。酿造服务mysql启动不启动mysql。

MacOS Monterey上。