Mac OS下MySQL Workbench连接本地数据库root权限被拒求助
解决MySQL root@localhost权限拒绝问题
以下是针对Access denied for user 'root'@'localhost' (using password: YES)报错的分步修复方案:
停止MySQL服务
根据操作系统执行对应命令:
Ubuntu/Debian:sudo systemctl stop mysqlCentOS/RHEL:
sudo systemctl stop mysqld启动MySQL权限跳过模式
以跳过权限验证的方式启动后台进程:sudo mysqld_safe --skip-grant-tables &无密码登录MySQL
此时无需密码即可登录root账户:mysql -u root更新root用户密码
切换到mysql系统数据库:USE mysql;根据MySQL版本执行密码更新命令:
- MySQL 5.7及以上版本(使用
authentication_string字段):UPDATE user SET authentication_string=PASSWORD('你的新密码') WHERE User='root' AND Host='localhost'; - MySQL 5.6及以下版本(使用
password字段):UPDATE user SET password=PASSWORD('你的新密码') WHERE User='root' AND Host='localhost';
- MySQL 5.7及以上版本(使用
刷新权限并退出
FLUSH PRIVILEGES; EXIT;恢复正常MySQL服务
先终止安全模式的MySQL进程:sudo pkill mysqld再启动正常服务:
Ubuntu/Debian:sudo systemctl start mysqlCentOS/RHEL:
sudo systemctl start mysqld验证登录
执行登录命令测试新密码:mysql -u root -p输入设置的新密码,即可正常进入MySQL命令行。
额外注意事项
- 确保新密码符合MySQL的密码复杂度规则(部分系统默认要求包含大小写、数字和特殊字符)
- 若存在
root@%等其他root用户条目,可按需调整其权限或密码,但优先保证root@localhost的可用性
内容的提问来源于stack exchange,提问作者rachel
相关产品推荐
相关产品推荐

