首页 >数据库 >mysql教程 >为什么我的 MySQL/MariaDB Root 用户缺乏权限,显示'访问被拒绝”?

为什么我的 MySQL/MariaDB Root 用户缺乏权限,显示'访问被拒绝”?

Barbara Streisand
Barbara Streisand原创
2024-12-10 01:36:10351浏览

Why Does My MySQL/MariaDB Root User Lack Privileges, Showing

“用户'root'@'localhost'访问被拒绝(使用密码:YES) - 无权限?”

出现此错误当 MySQL 的 root 用户缺乏执行某项操作所需的权限时

Root 用户的空架构权限

通常,root 用户拥有完全权限。然而,在这种情况下,报告root的schema权限为空,表明它没有任何权限。

对各个平台的影响

此问题影响用户的能够跨不同平台操作MySQL服务器。即使以“[email protected]”身份登录,用户也会遇到障碍。

故障排除尝试

用户尝试了各种解决方案,例如“FLUSH HOSTS”和“FLUSH PRIVILEGES”,但这些已经证明

MySQL 5.7 的解决方案

如果您在 MySQL 5.7 或更高版本中遇到此问题,解决方案是启用基于密码的身份验证:

  1. 执行以下SQL查询:

    SELECT user, authentication_string, plugin, host FROM mysql.user;
  2. 请注意,root 用户的“authentication_string”不能为空。如果是,则使用当前 root 密码更新:

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<Current-Root-Password>';
  3. 刷新权限:

    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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn