You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

MySQL删除匿名用户报错:DELETE权限被拒,求解决思路

解决MySQL执行mysql_secure_installation删除匿名用户权限报错的问题

嘿,我来帮你搞定这个头疼的问题!这个错误提示DELETE command denied to user 'root'@'localhost' for table 'user'看起来有点反直觉——毕竟你用的是root账号,但实际上是你的MySQL root用户缺少操作mysql.user表的必要权限。试试下面的步骤来修复:

  • 第一步:手动登录MySQL控制台
    在shell里执行这条命令,输入你的MySQL root密码登录:

    mysql -u root -p
    
  • 第二步:给root用户补全全局权限
    登录后执行以下两条命令,确保root拥有所有数据库和表的全部权限,并且能授予权限给其他用户:

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    
  • 第三步:手动删除匿名用户
    既然工具执行删除时出错,我们直接手动操作:

    DELETE FROM mysql.user WHERE User='';
    FLUSH PRIVILEGES;
    
  • 第四步:退出并重新运行安全配置工具
    输入EXIT;退出MySQL控制台,然后再次执行:

    mysql_secure_installation
    

    这时候应该就能顺利完成剩下的配置步骤了。

额外提醒:如果你的MySQL环境里还有root@%(允许远程登录的root账号),也可以检查一下它的权限,但通常root@localhost才是本地操作需要用到的账号。如果之前你手动修改过root的权限,可能会导致这种权限缺失的情况,补全全局权限后基本就能解决。

内容的提问来源于stack exchange,提问作者Elwi Mamdouh

火山引擎 最新活动