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

use*_*014 34 mysql amazon-web-services sql-drop

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

ERROR 1396 (HY000): Operation DROP USER failed for 'user'@'localhost'
Run Code Online (Sandbox Code Playgroud)

我正在使用此命令:

DROP USER 'user'@'localhost';
Run Code Online (Sandbox Code Playgroud)

它是一台亚马逊机器.

谢谢

Tom*_*Mac 42

您尝试删除的用户可能不存在.您可以通过运行来确认(或不确定)是否是这种情况:

select user,host
from mysql.user
where user = '<your-user>';
Run Code Online (Sandbox Code Playgroud)

如果用户确实存在,则尝试运行:

flush privileges;

drop user 'user'@'localhost';
Run Code Online (Sandbox Code Playgroud)

另一件需要检查的是确保以root用户身份登录

如果所有其他方法都失败,那么您可以像这样手动删除用户:

delete from mysql.user
where user='<your-user>'
and host = 'localhost';

flush privileges;
Run Code Online (Sandbox Code Playgroud)


use*_*014 39

这是因为我使用命令创建了用户:

CREATE USER 'user'@'%' IDENTIFIED BY 'passwd';
Run Code Online (Sandbox Code Playgroud)

我正在删除它:

drop user 'user'@'localhost';
Run Code Online (Sandbox Code Playgroud)

我应该使用这个命令:

drop user 'user'@'%';
Run Code Online (Sandbox Code Playgroud)

  • 然而,当我 `drop user 'user'@'%';` (在刷新权限之前和之后,我仍然得到 HY000 失败。通过指出可能由第二组单引号。 (2认同)

Q10*_*ing 5

如何解决这样的问题:

mysql> drop user 'q10'@'localhost';
ERROR 1396 (HY000): Operation DROP USER failed for 'q10'@'localhost'
Run Code Online (Sandbox Code Playgroud)

首先:您应该检查用户的主机,例如:


mysql> select host,user from user;
+-----------+------+
| host      | user |
+-----------+------+
| %         | q10  |
| localhost | root |
| localhost | sy   |
| localhost | tom  |
+-----------+------+
Run Code Online (Sandbox Code Playgroud)

如果我删除用户“ q10”,则命令为:

mysql> drop user 'q10'@'%';
Query OK, 0 rows affected (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

如果我删除用户“ tom”,则命令如下:

mysql> drop user 'tom'@'localhost';
Query OK, 0 rows affected (0.00 sec)
Run Code Online (Sandbox Code Playgroud)