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




