Homebrew安装mysql@5.7报错:无法通过/tmp/mysql.sock连接本地MySQL服务
M1 Mac Homebrew 安装 mysql@5.7 socket 连接报错解决方案
该故障确实和M1芯片的架构特性直接相关,核心是ARM架构Mac下Homebrew默认安装路径变更为/opt/homebrew,而非Intel架构下的/usr/local,导致MySQL默认读取的socket路径与实际生成路径不匹配。
排查与修复步骤
- 第一步:确认服务正常运行
执行命令查看服务状态:
若mysql@5.7状态不为started,先执行以下命令修复目录权限后重启服务:brew services listsudo chown -R $(whoami) /opt/homebrew/var/mysql brew services restart mysql@5.7 - 第二步:确认实际socket文件路径
执行命令查看是否存在默认路径下的socket文件:
正常会返回ls /opt/homebrew/var/mysql/*.sock/opt/homebrew/var/mysql/mysql.sock,该路径与MySQL默认读取的/tmp/mysql.sock不一致就是报错的直接原因。 - 第三步:选择以下任意一种方案修复
- 临时指定socket路径执行安全配置
直接在命令中传入实际socket路径即可完成配置:mysql_secure_installation --socket=/opt/homebrew/var/mysql/mysql.sock - 全局修改MySQL配置(永久生效)
在用户家目录创建.my.cnf配置文件,写入以下内容:
保存后重启服务即可:[mysqld] socket = /opt/homebrew/var/mysql/mysql.sock [client] socket = /opt/homebrew/var/mysql/mysql.sockbrew services restart mysql@5.7 - 软链接到默认读取路径
将实际socket文件软链接到MySQL默认读取的路径:
注意:Mac的ln -s /opt/homebrew/var/mysql/mysql.sock /tmp/mysql.sock/tmp目录会在系统重启后清空,若重启后再次报错可重新执行该命令,或把命令加入开机启动项。
- 临时指定socket路径执行安全配置
内容的提问来源于stack exchange,提问作者Francesc Roca
相关产品推荐
相关产品推荐

