重启Mac后MAMP环境下MySQL无法启动、连接报错问题咨询
故障原因
- 重启系统后MAMP MySQL服务启动异常,运行时必需的套接字文件
mysql.sock未生成 - 手动创建的
mysql.sock是普通文件,不是MySQL运行时生成的套接字类型文件,无法用于进程通信 - 直接执行
mysql.server找不到命令是因为未将MAMP的MySQL工具路径加入全局环境变量
解决步骤
- 首先删除手动创建的无效sock文件
$ rm /Applications/MAMP/tmp/mysql/mysql.sock
- 杀死残留的MySQL进程,避免端口/文件占用
$ ps aux | grep mysql | grep -v grep | awk '{print $2}' | xargs kill -9
- 修复MAMP MySQL目录权限
$ sudo chown -R $(whoami):admin /Applications/MAMP/db/mysql/ $ sudo chmod -R 755 /Applications/MAMP/db/mysql/
- 用MAMP自带的启动脚本启动MySQL服务
$ /Applications/MAMP/Library/bin/mysqld_safe --datadir=/Applications/MAMP/db/mysql/ &
- 等待10秒后验证服务状态,执行以下命令如果能返回进程ID说明启动成功
$ ps aux | grep mysqld | grep -v grep
- 此时再测试MySQL连接即可正常使用
$ mysql -u root -p
后续规避方案
- 下次关机前先手动停止MAMP的所有服务,避免异常断电/重启导致MySQL数据文件损坏
- 可以将MAMP的工具路径加入环境变量,方便直接调用命令:在
~/.zshrc(如果是bash就改~/.bash_profile)中加入以下内容
export PATH="/Applications/MAMP/Library/bin:$PATH"
保存后执行source ~/.zshrc生效,之后就可以直接执行mysql.server start等命令。
内容的提问来源于stack exchange,提问作者Takichee
相关产品推荐
相关产品推荐

