ERROR 2002 (HY000):无法通过socket '/tmp/ MySQL .sock'

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

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

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

486749 次浏览

运行: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 < / p >

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

启动服务。

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

我的env:

Mac Yosemite 10.10.3

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

下面我将包括来自brew install 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 ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist加载mysql,然后能够启动$ mysql,并在我的路上。

我希望这对最近的疑难解答有帮助!

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

要连接,运行:mysql -urootroot是这里的用户名。

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

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
    
  • Starting a MySQL process

    sudo mysql.server start
    

Just to add on a lot of great and useful answers that have been provided here and from many different posts, try specifying the host if the above commands did not resolve this issue for you, i.e

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。遵循以下说明

  1. 卸载MySQL。
  2. 删除/usr/local/var/mysql/
  3. 安装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

brew services start mysql

我希望这能有所帮助!

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

  1. 卸载mysql

    brew uninstall mysql < / p >

  2. sudo rm -r /usr/local/var/mysql

  3. brew install mysql@8.0
  4. mysql -u root
这个解决方案对我来说很好! 但是你丢失了所有的数据库!警告!< / >强

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

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

mysql -u root -p

附图供参考

System Preferences

Mysql panel

试试这个

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

只有这个对我有用 brew services start --all (尝试所有答案后)

我建议你去跑步

  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

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

只需点击“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 services stop mysql
$brew services list
$brew uninstall  mysql


$brew install mysql
$brew postinstall mysql


If Any error found then run those cmd
! Warning: this will delete any databases on this server:
$sudo rm -rf /usr/local/var/mysql
$sudo rm /usr/local/etc/my.cnf
$brew postinstall mysql




$brew services start mysql
$mysql_secure_installation
enter image description here 完成安全安装的所有过程,然后运行

$mysql -u root -p

恭喜你已经安装好mysql了!

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

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

如果你已经使用HomeBrew安装了MySQL,那么在你的mac中检查System Preferences >MySQL < / >强,如果MySQL服务器正在运行,则通过单击停止MySQL服务器停止它__abc2,并从终端写入命令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

brew install mysql

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

mysql_secure_installation

然后点火。

mysql -uroot

在我的mac m1 macOS蒙特利上安装MySQL后,使用brew install 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 start mysql启动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 -urootmysql -uroot -p

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

做那个 mysql -h 127.0.0.1 -u root 127.0.0.1是你的localhost

1)->首先启动SQL server 2)(如果不存在)你必须在你安装的地方创建一个'etc'目录 在其中创建一个名为' 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上。