用时间机器恢复数据后,mysql无法通过brew services start mysql@5.7启动了,
报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
sudo mysql.server start可以。看样子是权限问题了。
操作开始:
1.进入macOS的recovery mode
2.选择实用工具——终端,输入如下指令把保护模式关掉
csrutil disable
3.重启
4.删除tmp目录
sudo rm -i /tmp
sudo rm -f /private/tmp
5.重新创建tmp目录,设置权限
sudo mkdir /private/tmp
sudo chown root:wheel /private/tmp
sudo chmod 1777 /private/tmp
6.设置软链接
sudo ln -s /private/tmp /tmp
7.更改mysql数据库目录权限
chmod -R 777 /usr/local/var/mysql/
8.尝试启动Mysql,查看状态
brew services start mysql@5.7
brew services list --json
备注:如果还是无法启动可以尝试
sudo chown -R _mysql:_mysql /usr/local/var/mysql
最后,记录开启保护模式(步骤同1,2)
csrutil enable