ERROR 1396(HY000):“用户”@“localhost”的操作DROP USER失败

时间:2013-12-20 07:21:13

标签: mysql amazon-web-services sql-drop

我在mysql中创建了一个用户。现在我要删除用户?怎么做?我收到了这个错误:

ERROR 1396 (HY000): Operation DROP USER failed for 'user'@'localhost'

我正在使用此命令:

DROP USER 'user'@'localhost';

它是一台亚马逊机器。

谢谢

4 个答案:

答案 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中应该可以这样工作。我也遇到了这个问题。