首页 > 数据库 > mysql教程 > 如何解决MySQL错误'用户'root'@'localhost'访问被拒绝(使用密码:YES)”?

如何解决MySQL错误'用户'root'@'localhost'访问被拒绝(使用密码:YES)”?

Linda Hamilton
发布: 2024-12-25 05:30:17
原创
714 人浏览过

How to Resolve the MySQL Error

揭开谜底:解决“用户'root'@'localhost'访问被拒绝(使用密码:YES)'

错误消息“用户‘root’@‘localhost’的访问被拒绝(使用密码:是)- 无权限?”当尝试使用 root 用户连接到 MySQL 数据库时可能会遇到这种情况。当 root 用户的架构权限为空时,就会出现这个令人沮丧的问题,从而有效地撤销所有访问权限。

追踪问题的根源

深入研究 MySQL Workbench,它发现root用户的schema权限确实缺失。这解释了为什么像 FLUSH HOSTS 和 FLUSH PRIVILEGES 这样的标准命令不会产生任何结果。

回收根访问权限:分步指南

  1. 检查用户和身份验证设置:

运行查询“SELECT user,authentication_string,plugin,host FROM mysql.user;”以确定身份验证方法。如果 root 用户显示“auth_socket”,则表示正在使用套接字身份验证,这需要对服务器进行 root 访问。

  1. 修改用户身份验证:

要允许使用密码连接,请将“localhost”处 root 用户的authentication_string 值更新为'mysql_native_password',需要密码进行身份验证。

  1. 设置 Root 密码:

使用命令“ALTER USER 'root'@ “本地主机”通过“当前根密码”通过 mysql_native_password 进行识别;”设置 root 密码。

  1. 授予权限:

如有必要,使用 GRANT 命令授予 root 用户适当的权限。

  1. 冲水权限:

执行“FLUSH PRIVILEGES;”以确保更改生效。

  1. 确认更改:

重新运行用户信息查询以验证 root 用户现在是否具有“mysql_native_password”身份验证和所需的权限。

通过执行以下步骤,可以恢复 root 访问权限,从而允许完全访问控制 MySQL 数据库。

以上是如何解决MySQL错误'用户'root'@'localhost'访问被拒绝(使用密码:YES)”?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板