Mac BigSur系统MySQL 5.7启动提示mysql.plugin表不存在问题咨询
问题根因
从错误日志可定位核心故障:MySQL 5.7的内置系统库mysql下核心表不存在,导致权限校验、基础服务初始化失败,进程主动退出。常见触发原因有3类:
- 首次安装后未完成初始化操作,或初始化中途中断,系统表创建不完整
- 配置权限时错误修改了
/usr/local/var/mysql/目录的所有者/权限,导致mysqld进程无法读取系统表文件 - 跨版本升级MySQL后未执行适配操作,系统表结构不匹配
解决步骤
步骤1:清理残留MySQL进程
先杀掉占锁/占端口的僵死进程,避免操作冲突:
brew services stop mysql@5.7 sudo pkill mysqld
步骤2:修复数据目录权限
Homebrew安装的MySQL默认数据目录所有者应为_mysql用户,执行权限修复:
sudo chown -R _mysql:_mysql /usr/local/var/mysql/ sudo chmod -R 750 /usr/local/var/mysql/
修复完成后先尝试启动服务,若仍启动失败继续执行后续步骤。
注意:如果数据目录有自定义业务数据,操作前先完整备份/usr/local/var/mysql/目录
步骤3:重新初始化系统表
删除损坏的现有数据目录,重新生成完整系统表:
sudo rm -rf /usr/local/var/mysql/ sudo mysqld --initialize --user=_mysql --datadir=/usr/local/var/mysql/
执行完成后控制台会输出临时root密码,请自行留存。
步骤4:启动服务并适配系统表
启动MySQL服务:
brew services start mysql@5.7
启动成功后执行系统表适配命令:
mysql_upgrade -u root -p
输入之前留存的临时密码执行,完成后重启一次MySQL服务即可正常使用。
内容的提问来源于stack exchange,提问作者Divya
相关产品推荐
相关产品推荐

