文章

MySQL: ERROR 1227 (42000): Access denied - Cannot CREATE USER

在MySQL中,如果您尝试删除用户时遇到“Access denied; you need (at least one of) the SYSTEM_USER privilege(s) for this operation”错误,可能是因为root用户的配置问题。一个可能的解决方案是将root用户的Host从%更改为localhost。以下是详细的步骤:

  1. 使用以下命令检查root用户的权限:

    1
    
    SELECT Host, User, drop_priv FROM user;
    
  2. 使用以下命令查看root用户的授权信息:

    1
    
    SHOW GRANTS FOR 'root'@'%';
    
  3. 如果root用户的Host设置为%,您可以使用以下命令将其更改为localhost

    1
    
    UPDATE user SET Host='localhost' WHERE user='root' LIMIT 1;
    
  4. 重启MySQL服务,然后再次尝试删除用户:

    1
    
    DROP USER 'testuser'@'%';
    
  5. 使用以下命令刷新权限:

    1
    
    FLUSH PRIVILEGES;
    

这种方法可能是因为某些安全设置或MySQL配置导致的,例如SELinux或其他安全组件。尽管不清楚具体原因,但更改Host为localhost可能解决了权限问题。如果您遇到类似的问题,可以尝试这种方法。

引用:MySQL: ERROR 1227 (42000): Access denied - Cannot CREATE USER

本文由作者按照 CC BY 4.0 进行授权