检查 MySQL 服务状态
确认 MySQL 是否确实无法启动,打开终端,输入以下命令:

mysql.server status
如果提示“MySQL running”或“SUCCESS”,则说明服务已运行;否则,需进一步排查,若命令未找到,可能是 MySQL 未正确安装或未添加到系统路径中。
检查日志文件
MySQL 的日志文件是排查问题的关键,默认情况下,日志文件位于 /usr/local/mysql/data/ 或 /var/log/mysql/ 目录下,使用以下命令查看最新日志:
tail -f /usr/local/mysql/data/localhost.err
日志中可能包含错误信息,如权限不足、端口被占用或配置文件语法错误,根据错误提示针对性解决。
检查权限问题
macOS 的安全机制可能导致权限问题,确保 MySQL 安装目录和数据库文件的权限正确,运行以下命令修复权限:
sudo chown -R _mysql:_mysql /usr/local/mysql sudo chmod -R 755 /usr/local/mysql
完成后尝试重新启动 MySQL:

sudo mysql.server start
解决端口冲突
默认情况下,MySQL 使用 3306 端口,若该端口被其他程序占用,会导致启动失败,使用以下命令检查端口占用情况:
lsof -i :3306
如果发现占用进程,可终止该进程或修改 MySQL 的端口配置,编辑 /usr/local/mysql/my.cnf 文件,添加以下内容:
[mysqld] port = 3307
保存后重启 MySQL 并验证新端口是否生效。
重置 MySQL 配置
若配置文件损坏或错误,可能导致无法启动,可尝试重置为默认配置:
- 备份原有配置文件:
sudo cp /usr/local/mysql/my.cnf /usr/local/mysql/my.cnf.bak - 删除或重命名配置文件:
sudo mv /usr/local/mysql/my.cnf /usr/local/mysql/my.cnf.disabled - 重启 MySQL:
sudo mysql.server start
如果成功启动,说明原配置文件有问题,需逐步检查并修复。
完全重装 MySQL
若以上方法均无效,可能是 MySQL 安装损坏,建议完全卸载后重新安装:

- 卸载 MySQL:
brew uninstall mysql(若通过 Homebrew 安装)或手动删除/usr/local/mysql目录。 - 清理残留文件:
sudo rm -rf /usr/local/var/mysql - 重新安装 MySQL:
brew install mysql - 初始化数据库:
mysql.server initialize - 启动服务:
sudo mysql.server start
FAQs
Q1: 提示“Access denied for user 'root'@'localhost'”怎么办?
A: 这通常是 root 用户密码未设置或错误,可通过安全模式重置密码:
- 停止 MySQL:
sudo mysql.server stop - 跳过权限表启动:
sudo mysqld_safe --skip-grant-tables - 新开终端登录并重置密码:
mysql -u root UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root'; FLUSH PRIVILEGES; - 重启 MySQL 并测试新密码。
Q2: MySQL 启动后立即停止,日志显示“Table 'mysql.plugin' doesn't exist”如何解决?
A: 此问题通常由数据库文件损坏或版本不兼容导致,可尝试以下步骤:
- 备份数据:
sudo cp -r /usr/local/var/mysql /usr/local/var/mysql_backup - 删除旧数据库文件:
sudo rm -rf /usr/local/var/mysql - 重新初始化数据库:
mysql.server initialize --user=_mysql --basedir=/usr/local/mysql - 重启 MySQL:
sudo mysql.server start
若问题依旧,需检查 MySQL 版本与 macOS 系统的兼容性。