我在 Mac OS X Mountain Lion 上安装了 MySQL homebrew install mysql
,但是当我尝试时mysql -u root
出现以下错误:
ERROR 2002 (HY000): 无法通过套接字 '/tmp/mysql.sock' 连接到本地 MySQL 服务器 (2)
这个错误是什么意思?我该如何解决?
您需要先启动 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
这可能是因为 MySQL 已安装但尚未运行。
要验证它是否正在运行,请打开活动监视器并在“所有进程”下,搜索并验证您是否看到进程“mysqld”。
您可以通过安装“MySQL.prefPane”来启动它。
这是帮助我的完整教程:http: //obscuredclarity.blogspot.in/2009/08/install-mysql-on-mac-os-x.html
跑: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 优胜美地 10.10.3
安装包:/Volumes/mysql-advanced-5.6.24-osx10.8-x86_64
解决方案围绕:
更改 MySQL 的权限
sudo chown -R _mysql:mysql /usr/local/var/mysql
启动 MySQL 进程
sudo mysql.server start
只是为了添加这里和许多不同帖子中提供的许多很棒和有用的答案,如果上述命令没有为您解决这个问题,请尝试指定主机,即
mysql -u root -p h127.0.0.1
/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
那行得通!
Looks like your mysql server is not started. I usually run the stop command and then start it again:
mysqld stop
mysql.server start
Same error, and this works for me.
下面我将包含来自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
就我而言,我现在通过加载mysql launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
,然后能够启动$ mysql
并继续前进。
我希望这有助于最近的疑难解答!
这个问题与/usr/local/var/mysql
文件夹访问有关,我删除了这个文件夹并重新安装了 mysql。
用 brew 卸载 mysql :
brew uninstall mysql
sudo rm -r /usr/local/var/mysql
brew install mysql@8.0
mysql -u root
这个解决方案对我来说很好! 但是您丢失了所有数据库!警告!
当我重新启动 mysql 服务时,这解决了我的问题。赶紧跑:
brew services start mysql
指定的数据目录 /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
$sudo rm -rf /usr/local/var/mysql
$sudo rm /usr/local/etc/my.cnf
$brew postinstall mysql
$brew services start mysql
$mysql_secure_installation
$mysql -u root -p
恭喜你刚刚设置了 mysql!
哦,我花了一段时间才弄清楚。我在评论中看到了。使用 brew 安装 mysql 并启动服务(可能使用sudo brew services start mysql
)然后运行:
$ mysqld
此后,MySQL 应该会为您运行。
就我而言,这只是删除锁定文件的问题。
sudo rm -f /tmp/mysql.sock.lock
对我来说,这很简单:
/usr/local/opt/mysql/bin/mysqld_safe
代替mysqld
我找到了解决我的问题的方法。这确实是因为我的 MySQL 服务器没有运行。
这是由于 MySQL 没有在我的机器上正确设置,因此无法运行。
为了解决这个问题,我使用了一个在 Mac OSX Mountain Lion 上安装 MySQL 的脚本,它必须安装丢失的文件。
这是链接:http ://code.macminivault.com/
重要提示: 此脚本将 root 密码设置为随机生成的字符串,并将其保存在桌面上,因此请注意不要删除此文件并记下密码。它还会在您的系统首选项中安装 MySQL 管理器。我也不确定是否删除任何现有的数据库,所以要小心。
在为此工作了几个小时后,对我有用的是转到 /etc/mysql/ 并编辑 my.cnf 文件。添加以下内容
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
我经历了这个问题,我设法使用以下解决方案运行 mysql 服务器
.dmg
通过(https://dev.mysql.com/downloads/mysql/5.7.html )安装mysql ,您将在系统偏好设置中获得mysql服务面板然后从面板启动mysql并尝试
mysql -u root -p
附上图片供参考
在尝试了许多解决方案之后,似乎最终成功的方法是通过 IP 连接。不再随机删除文件套接字。
只需更新您的 MySQL 客户端配置(例如/usr/local/etc/my.cnf
):
[client]
port = 3306
host=127.0.0.1
protocol=tcp
使用上述所有解决方案后,对我来说没有任何效果,但这有效。
我您已经使用 HomeBrew 安装了 MySQL,然后在您的 mac 中检查System Preferences > MySQL,如果 MySQL 服务器正在运行,则通过单击停止 MySQL 服务器停止它并从终端编写命令来启动 MySQL mysqlserver.start
。
如果它不起作用,您也可以尝试:-
如果您还安装了 MySQL Workbench,则只需卸载MySQL Workbench 和 MySQL,然后先安装MySQL,然后再安装 MySQL Workbench。
只有这对我有用
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
可能您在自制 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
我已经尝试了所有可能的方法来解决这个问题,比如 ln -s /var/lib/mysql/mysql.sock /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
我希望这有帮助!
尝试这个
rm -rf /usr/local/var/mysql && brew postinstall mysql@5.7 && brew services restart mysql@5.7
只需在终端中点击“brew services start mysql”
就我而言,只需将主机指定为 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>
sudo chown _mysql /usr/local/var/mysql/*
在尝试了所有这些 SO 答案的多种选择之后,跑步终于帮助了我。权限问题可能是由于机器关闭不当造成的。
在我的mac m1 macOS Monterey上安装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
之后,我尝试使用启动 MySQL brew services start 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
。
升级到 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
这里有很多其他有用的回复,但没有什么能解决这个问题。最终,我在这个网站或其他网站上找到的任何东西都不会让 Homebrew 的任何版本的 MySQL 为我工作。
从https://dev.mysql.com/downloads/file/?id=479114下载 DMG (找到您需要的适当版本)并让向导为我安装它非常轻松。唯一的其他手动步骤是添加/usr/local/mysql/bin
到我的 PATH。
如果 brew 给你带来麻烦,我会推荐这个选项。
更新 - 如果仍然无法解决问题,请在通过 DMG 安装之前尝试完全清除 mysql。请按照以下说明操作:https ://gist.github.com/vitorbritto/0555879fe4414d18569d
Homebrew 绝对不会使用标准重新安装来修复权限,并且追查损坏的文件夹/文件将花费比其价值更长的时间。
在这种情况下 - 手动删除 mysql 安装并通过自制软件重新安装。大约需要2分钟。
cd /usr/local/var
sudo rm -rf mysql
brew install mysql
Homebrew 默认安装 mysql insecure,所以如果你想要密码:
mysql_secure_installation
然后点燃它。
mysql -uroot
在我的情况下,在安装 MAMP 之后,从终端访问 mysql 给出了相同的套接字错误。最后,它想要的只是重新启动并且它正在工作。
如果您在 OSX 上并且有 XAMPP,请按照以下步骤操作:
感谢 Jackstine 的回答,我能够做到以下几点:
$ 猫 ~/.my.cnf
[mysql]
# CLIENT #
port = 3306
socket = /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock
我希望这能在我以后忘记时再次帮助我!
我设法通过将 localhost 更改为 127.0.0.1 来解决这个问题
本地机器上所有这些问题的最佳替代方案-> DOCKER
按照以下步骤操作,您将与本地 mysql 设置一样好:
-> docker run --name docker-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql
/usr/local/var/mysql/
.