揭开谜底:解决“用户'root'@'localhost'访问被拒绝(使用密码:YES)'
错误消息“用户‘root’@‘localhost’的访问被拒绝(使用密码:是)- 无权限?”当尝试使用 root 用户连接到 MySQL 数据库时可能会遇到这种情况。当 root 用户的架构权限为空时,就会出现这个令人沮丧的问题,从而有效地撤销所有访问权限。
追踪问题的根源
深入研究 MySQL Workbench,它发现root用户的schema权限确实缺失。这解释了为什么像 FLUSH HOSTS 和 FLUSH PRIVILEGES 这样的标准命令不会产生任何结果。
回收根访问权限:分步指南
运行查询“SELECT user,authentication_string,plugin,host FROM mysql.user;”以确定身份验证方法。如果 root 用户显示“auth_socket”,则表示正在使用套接字身份验证,这需要对服务器进行 root 访问。
要允许使用密码连接,请将“localhost”处 root 用户的authentication_string 值更新为'mysql_native_password',需要密码进行身份验证。
使用命令“ALTER USER 'root'@ “本地主机”通过“当前根密码”通过 mysql_native_password 进行识别;”设置 root 密码。
如有必要,使用 GRANT 命令授予 root 用户适当的权限。
执行“FLUSH PRIVILEGES;”以确保更改生效。
重新运行用户信息查询以验证 root 用户现在是否具有“mysql_native_password”身份验证和所需的权限。
通过执行以下步骤,可以恢复 root 访问权限,从而允许完全访问控制 MySQL 数据库。
以上是如何解决MySQL错误'用户'root'@'localhost'访问被拒绝(使用密码:YES)”?的详细内容。更多信息请关注PHP中文网其他相关文章!