优胜美地 - MAMP - 无法通过套接字 '/Applications/MAMP/tmp/mysql/mysql.sock' (2) 连接到本地MySQL服务器

13

当我尝试连接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 不存在。

你有什么想法吗?这个问题已经阻碍了我两天,我搜索了很久,但对我没有帮助。

提前感谢。


你必须先启动服务器。因此,请单击菜单栏中的蓝色大象状态图标,选择 启动服务器,然后 MAMP 将在 tmp 文件中创建一个套接字。 - Kiry Meas
8个回答

19

我在将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 特定路径。


这对我非常有帮助!! 非常感谢 Galina。我尝试了这���串中的所有建议,但最终是你的建议帮了我。可能有必要进一步解释为什么首先会出现这个问题,以及为什么你建议的链接不是默认创建的? - Lazarus Thurston

15

只需从 /Applications/MAMP/db/mysql56 中删除两个文件 ib_logfile0 和 ib_logfile1。


在High Sierra上运行得非常好!谢谢! - brunoramonalmeida

9

在某些情况下,/Applications/MAMP/tmp/mysql/mysql.sock.lock可能会导致问题。删除.lock,它将正常工作(OSX)


你太棒了!救了我的一天。 - AbdulBasit
在我的情况下,完全删除mysql.sock.lock文件起了作用。 - dipak_pusti
以上的方法都不起作用,只有你的方法有效。非常感谢! - titan
非常感谢,你救了我的一天... - abdello

5

我也有同样的问题。我按以下步骤解决了它:

  1. 通过系统偏好设置 -> MySQL停止并重新启动MySQL(也可以参见https://dev59.com/woTba4cB1Zd3GeqP7IJe#26523977)。
  2. 在终端窗口中输入sudo mysql_upgrade并按下enter

更新过程后,我能够连接我的MySQL。


2

同时请检查确保 MySql 正在运行。如果 MAMP/MySql 没有运行时,您尝试从命令行使用 MySql 可能会出现此错误。


2
将 mysql 的 .sock 文件重命名并重新启动 MySQL 服务器。

/Applications/MAMP/tmp/mysql/mysql.sock 重命名为 /Applications/MAMP/tmp/mysql/mysql_old.sock


重命名mysql.sock并没有帮助我。 - Lazarus Thurston
请分享您的错误信息,包括具体内容。 - Altmish-E-Azam
@AaronMarton :-) - Altmish-E-Azam

0

1) mysql.server stop

2) /Applications/MAMP/bin/startMysql.sh &&

现在在 MAMP 上转到

工具 => 升级 MySQL 数据库


如果数据库无法启动,您将无法升级它。 - Shawn W

0

如果有人需要帮助,我通过以下方式解决了这个问题:

  1. 停止所有其他版本的MySQL(我忘记了我在系统启动时启动了Oracle MySQL,并尝试通过该安装连接),并将它们全部删除以让MAMP处理。
    使用sudo launchctl unload -F /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
  2. 确保MAMP正在运行。
  3. 运行/Applications/MAMP/Library/bin/mysql。

尝试关闭Oracle MySQL,但这仍然没有帮助启动MAMP MySQL。 - Lazarus Thurston

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接