MacOS下MySQL 5.7 ERROR 1045(28000)权限拒绝问题求助
解决MySQL root用户登录拒绝及密码重置问题
针对你遇到的ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)错误,结合Mac系统环境,给出以下可靠的密码重置步骤(无需依赖缺失的mysqladmin):
步骤1:停止MySQL服务
- 通过系统偏好设置的MySQL面板点击「Stop MySQL Server」;
- 或使用命令行(若通过Homebrew安装):
brew services stop mysql
步骤2:启动MySQL安全模式(跳过权限验证)
根据你的安装方式选择对应命令:
- 官方pkg安装:
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables - Homebrew安装:
sudo mysqld_safe --skip-grant-tables
执行后该终端会保持运行状态,不要关闭,新开一个终端窗口继续操作。
步骤3:无密码登录MySQL
在新终端执行:
mysql -u root
此时无需输入密码即可进入MySQL命令行。
步骤4:重置root密码
根据你的MySQL版本选择对应操作:
MySQL 8.0及以上版本
- 切换到系统库:
USE mysql; - 刷新权限(避免后续报错):
FLUSH PRIVILEGES; - 设置新密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
MySQL 5.x版本
- 切换到系统库:
USE mysql; - 更新密码字段:
UPDATE user SET password = PASSWORD('你的新密码') WHERE User = 'root' AND Host = 'localhost'; - 刷新权限:
FLUSH PRIVILEGES;
步骤5:重启MySQL服务
- 在运行安全模式的终端窗口,按
Ctrl+C终止安全模式进程; - 通过系统偏好设置或命令行启动正常服务:
brew services start mysql - 用新密码登录验证:
mysql -u root -p
关于缺失mysqladmin的说明
你遇到的路径问题大概率是安装方式导致的:Homebrew安装的MySQL工具通常在/usr/local/bin/下,而官方pkg的工具在/usr/local/mysql/bin/——如果该目录下无mysqladmin,可能是安装包损坏或版本更新后工具被整合,上述安全模式重置方法无需依赖该工具,是更稳定的解决方案。
内容的提问来源于stack exchange,提问作者bobsmith76
相关产品推荐
相关产品推荐

