Big Sur系统下Homebrew安装的MySQL如何将数据目录修改至外接硬盘
macOS Big Sur下Homebrew MySQL外接加密卷启动报错解决方案
该报错本质是Big Sur引入的TCC隐私权限机制,阻止了mysqld进程访问加密外接卷,和plist配置、软链接本身无关,可按以下方案依次排查解决:
方案1:触发权限弹窗授权(优先尝试)
- 先停止现有mysql服务:
brew services stop mysql - 直接执行mysqld前台启动命令触发系统权限校验:
/usr/local/opt/mysql/bin/mysqld --datadir=/Volumes/External/mysql
- 此时系统会弹出授权提示,选择「允许」即可,之后按Ctrl+C终止前台进程,再用
brew services start mysql启动服务即可。
方案2:手动给mysqld添加磁盘访问权限
如果方案1没有弹出授权提示,可手动添加权限:
- 打开「系统偏好设置」→「安全性与隐私」→「隐私」标签,左侧选择「完整磁盘访问权限」(或「文件和文件夹」)
- 点击左下角解锁按钮,输入系统密码解锁
- 打开Finder,按Command+Shift+G,输入路径
/usr/local/Cellar/mysql/,进入对应版本目录下的bin文件夹,找到mysqld可执行文件 - 直接将
mysqld拖入右侧的权限列表中,勾选对应的「可移动卷」或「完整磁盘访问权限」 - 重启终端后重新执行
brew services start mysql即可。
方案3:排查目录权限与挂载问题
如果上述方法仍报错,可排查以下配置:
- 确认mysql数据目录的所有者正确:
sudo chown -R $(whoami):admin /Volumes/External/mysql - 确认数据目录权限正常:
chmod 755 /Volumes/External/mysql - 确认外接加密卷已设置开机自动挂载:打开「磁盘工具」→ 选中External卷→右键「获取信息」→勾选「在系统启动时挂载」,避免launchd启动mysql时卷未挂载报错
- 建议删除原软链接
/usr/local/var/mysql,直接使用plist中配置的datadir参数,避免软链接带来的额外权限校验问题。
内容的提问来源于stack exchange,提问作者goose84
相关产品推荐
相关产品推荐

