Yosemite - MAMP - 无法通过套接字“/Applications/MAMP/tmp/mysql/mysql.sock”连接到本地 MySQL 服务器 (2)
Posted
技术标签:
【中文标题】Yosemite - MAMP - 无法通过套接字“/Applications/MAMP/tmp/mysql/mysql.sock”连接到本地 MySQL 服务器 (2)【英文标题】:Yosemite - MAMP - Can't connect to local MySQL server through socket '/Applications/MAMP/tmp/mysql/mysql.sock' (2) 【发布时间】:2015-01-02 18:49:23 【问题描述】:我在尝试连接 mysql MAMP 时遇到问题:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/Applications/MAMP/tmp/mysql/mysql.sock' (2)
我正在研究,但我没有找到解决问题的方法,我尝试像这样链接 mysql.sock:
sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock
但是,/tmp/mysql.sock 文件不存在。
你有什么想法吗?问题阻止了我2天,我搜索了这次但对我没有任何好处。
提前致谢,
【问题讨论】:
Error #2002 Can't connect to local MySQL server through socket '/Applications/MAMP/tmp/mysql/mysql.sock' (2)的可能重复 您必须先启动服务器。所以点击菜单栏中的蓝色大象状态图标并选择启动服务器,然后MAMP将在tmp文件中创建一个套接字。 【参考方案1】:1) mysql.server stop
2) /Applications/MAMP/bin/startMysql.sh &&
现在在 MAMP 上转到
Tools => Upgrade MySQL databases
【讨论】:
如果数据库无法启动,则无法升级。【参考方案2】:在某些情况下,/Applications/MAMP/tmp/mysql/mysql.sock.lock 可能会产生问题。删除 .lock ,它会工作(OSX)
【讨论】:
你的摇滚!拯救我的一天 就我而言,完全删除 mysql.sock.lock 文件有效。 上述方法均无效,只有您的方法有效。非常感谢!【参考方案3】:如果这对任何人都有帮助,我通过以下方式克服了这个障碍:
-
停止所有其他版本的 MySQL(我忘记了我在系统启动时启动了 Oracle MySQL,并且我试图通过该安装进行连接。)并删除它们以让 MAMP 处理它。
使用
sudo launchctl unload -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
确保 MAMP 正在运行。
正在运行 /Applications/MAMP/Library/bin/mysql。
【讨论】:
试图关闭 oracle MySQL 但这仍然无助于启动 MAMP MySQL。【参考方案4】:只需从 /Applications/MAMP/db/mysql56 中删除两个文件 ib_logfile0 和 ib_logfile1
【讨论】:
在 High Sierra 中的作用就像一个魅力!谢谢!【参考方案5】:在将 MAMP 上的 MySQL 从 5.5 升级到 5.6 后,我遇到了同样的问题。 经过长时间的研究,我做出了这个决定https://drupal.stackexchange.com/questions/32402/drush-and-mysql-database-with-mamp-connection-problem
在我的情况下,/Applications/MAMP/tmp/mysql/mysql.sock
的那个位置没有套接字文件。
简单的解决方案是创建一个符号链接:
cd /tmp
ln -s /Applications/MAMP/tmp/mysql/mysql.sock ./mysql.sock
其效果是将所有对 /tmp/mysql.sock 的调用路由到适当的 MAMP 特定路径。
【讨论】:
这对我有帮助!!非常感谢加林娜。我尝试了这条链中的所有建议,但最后,你的帮助了我。多解释一下为什么首先会出现这个问题以及为什么您建议的这个链接没有默认创建?【参考方案6】:还要检查以确保 MySql 正在运行。如果在 MAMP/MySql 未运行时尝试从命令行使用 MySql,则会出现此错误。
【讨论】:
【参考方案7】:我遇到了同样的问题。我按照以下步骤解决了它:
-
我通过 System Preferences -> MySQL 停止并重新启动 MySQL(另请参阅 https://***.com/a/26523977/204807)
我在终端窗口中输入
sudo mysql_upgrade
,然后按enter
在更新过程之后,我能够连接到我的 MySQL。
【讨论】:
【参考方案8】:重命名mysql的.sock
文件并重启你的MySQL服务器。
/Applications/MAMP/tmp/mysql/mysql.sock
到 /Applications/MAMP/tmp/mysql/mysql_old.sock
【讨论】:
重命名 mysql.sock 对我没有帮助。 在这里分享你的错误..正是你得到的。 @AaronMarton :-)以上是关于Yosemite - MAMP - 无法通过套接字“/Applications/MAMP/tmp/mysql/mysql.sock”连接到本地 MySQL 服务器 (2)的主要内容,如果未能解决你的问题,请参考以下文章
Yosemite 上的 MAMP - 连接错误:SQLSTATE[HY000] [2002] 没有这样的文件或目录
在 Mac OS X Yosemite 10.10 上使用 Mamp Pro 进行 Mcrypt