MySQL ERROR 1045(28000)权限问题求助:root本地访问被拒绝
解决MySQL root用户访问被拒绝的问题
你这里踩了一个常见的误区:系统root用户的密码和MySQL数据库root用户的密码是完全独立的两个账号——苹果支持帮你修改的是系统层面的root密码,但你遇到的是MySQL数据库的权限问题,所以修改系统root密码根本不会影响到MySQL的登录权限。下面是一步步重置MySQL root密码的实操方案,亲测有效:
先停止MySQL服务:
如果你是用Homebrew安装的MySQL,执行:brew services stop mysql如果是系统自带的MySQL,用这条命令:
sudo /usr/local/mysql/support-files/mysql.server stop跳过权限验证启动MySQL:
sudo mysqld_safe --skip-grant-tables &这个命令会让MySQL启动时跳过权限校验,这样你就能无密码登录到数据库了。
无密码登录MySQL:
mysql -u root切换到MySQL的权限管理数据库:
USE mysql;更新root用户的密码(根据你的MySQL版本选对应命令):
- 若你用的是MySQL 5.7及以上版本,执行:
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码'; - 如果上面的命令报错,试试适配旧版本的更新语句:
UPDATE user SET authentication_string=PASSWORD('你的新密码') WHERE User='root' AND Host='localhost';
- 若你用的是MySQL 5.7及以上版本,执行:
刷新权限让修改立即生效:
FLUSH PRIVILEGES;退出MySQL:
EXIT;最后重启MySQL服务:
Homebrew安装的用:brew services start mysql系统自带的用:
sudo /usr/local/mysql/support-files/mysql.server start
现在你再执行sudo mysql -u root -p globe_bank,输入刚才设置的新密码,应该就能正常访问目标数据库了。
内容的提问来源于stack exchange,提问作者Jane James
相关产品推荐
相关产品推荐

