“用户'root'@'localhost'访问被拒绝(使用密码:YES) - 无权限?”
出现此错误当 MySQL 的 root 用户缺乏执行某项操作所需的权限时
Root 用户的空架构权限
通常,root 用户拥有完全权限。然而,在这种情况下,报告root的schema权限为空,表明它没有任何权限。
对各个平台的影响
此问题影响用户的能够跨不同平台操作MySQL服务器。即使以“[email protected]”身份登录,用户也会遇到障碍。
故障排除尝试
用户尝试了各种解决方案,例如“FLUSH HOSTS”和“FLUSH PRIVILEGES”,但这些已经证明
MySQL 5.7 的解决方案
如果您在 MySQL 5.7 或更高版本中遇到此问题,解决方案是启用基于密码的身份验证:
执行以下SQL查询:
SELECT user, authentication_string, plugin, host FROM mysql.user;
请注意,root 用户的“authentication_string”不能为空。如果是,则使用当前 root 密码更新:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<Current-Root-Password>';
刷新权限:
FLUSH PRIVILEGES;
解决方案对于 MariaDB
对于 MariaDB,使用以下查询来设置root 用户的密码:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('manager');
您可以在 https://mariadb.com/kb/en/set-password/ 找到更多信息。
注意:
禁用认证插件或修改root用户密码后,建议运行“mysql_secure_installation”命令增强安全性。
以上是为什么我的 MySQL/MariaDB Root 用户缺乏权限,显示'访问被拒绝”?的详细内容。更多信息请关注PHP中文网其他相关文章!