我在mysql中创建了一个用户。现在我要删除用户?怎么做?我收到了这个错误:
ERROR 1396 (HY000): Operation DROP USER failed for 'user'@'localhost'
我正在使用此命令:
DROP USER 'user'@'localhost';
它是一台亚马逊机器。
谢谢
答案 0 :(得分:37)
您尝试删除的用户可能不存在。您可以通过运行以下方式确认(或不确定)是否是这种情况:
select user,host
from mysql.user
where user = '<your-user>';
如果用户确实存在,请尝试运行:
flush privileges;
drop user 'user'@'localhost';
要检查的另一件事是确保以root
用户
如果所有其他方法都失败,那么您可以手动删除用户:
delete from mysql.user
where user='<your-user>'
and host = 'localhost';
flush privileges;
答案 1 :(得分:35)
这是因为我使用命令创建了用户:
CREATE USER 'user'@'%' IDENTIFIED BY 'passwd';
我正在删除它:
drop user 'user'@'localhost';
我应该使用这个命令:
drop user 'user'@'%';
答案 2 :(得分:3)
如何解决这样的问题:
mysql> drop user 'q10'@'localhost';
ERROR 1396 (HY000): Operation DROP USER failed for 'q10'@'localhost'
首先:您应该检查您的用户主机,例如:
mysql> select host,user from user;
+-----------+------+
| host | user |
+-----------+------+
| % | q10 |
| localhost | root |
| localhost | sy |
| localhost | tom |
+-----------+------+
如果我删除用户'q10',则命令为:
mysql> drop user 'q10'@'%';
Query OK, 0 rows affected (0.00 sec)
如果我删除用户'tom',则命令如下:
mysql> drop user 'tom'@'localhost';
Query OK, 0 rows affected (0.00 sec)
答案 3 :(得分:0)
尝试使用不带引号的'user'@'localhost'
DROP USER user@localhost;
在MySQL 8中应该可以这样工作。我也遇到了这个问题。