You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

M1 Mac Mini升级Mac OS X 11.6后MySQL 8.0.27连接故障求助

问题根因

Mac OS X 11.6 更新调整了/tmp目录的临时文件自动清理规则,会定时删除空闲的套接字文件,刚好和Homebrew版MySQL默认的套接字存放路径冲突;同时系统升级可能篡改了MySQL数据目录的所属权限,导致进程读写异常。

解决步骤

  1. 清理残留MySQL进程
    先停止现有服务、杀掉所有残留进程,避免后续操作冲突:
brew services stop mysql
pkill mysqld
# 确认无残留进程,有输出的话手动kill对应的pid即可
ps aux | grep mysql
  1. 修正MySQL配置文件
    修改套接字存放路径,避开/tmp目录的清理规则:
  • 找到配置文件加载路径:mysql --help | grep "my.cnf",按输出的优先级顺序选一个存在的配置文件编辑,Homebrew M1版默认路径为/opt/homebrew/etc/my.cnf
  • 在配置文件中追加如下内容,没有对应块就自行创建:
[mysqld]
socket = /opt/homebrew/var/mysql/mysql.sock
bind-address = 127.0.0.1

[client]
socket = /opt/homebrew/var/mysql/mysql.sock
  1. 修复数据目录权限
    系统升级可能重置了MySQL数据目录的权限,手动修正:
sudo chown -R $(whoami):admin /opt/homebrew/var/mysql/
chmod 755 /opt/homebrew/var/mysql/
  1. 兼容旧路径调用
    创建软链接兼容程序默认读/tmp/mysql.sock的场景:
ln -s /opt/homebrew/var/mysql/mysql.sock /tmp/mysql.sock
  1. 重启服务验证
brew services start mysql
# 等待10秒后测试连接
mysql -u root -p

连接成功后执行show databases;等任意查询语句,确认无断连问题即可。

可选兜底方案

如果按上述操作后仍偶发断连,可修改MySQL的启动plist配置,禁止系统自动回收MySQL进程:
打开/opt/homebrew/Cellar/mysql/8.0.27/homebrew.mxcl.mysql.plist文件,在<dict>块内追加:

<key>KeepAlive</key>
<true/>

保存后重启MySQL服务即可。

内容的提问来源于stack exchange,提问作者cunningt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 01:27:02