web-dev-qa-db-fra.com

ERREUR 1396 (HY000): l'opération DROP USER a échoué pour «utilisateur» @ «localhost»

J'ai créé un utilisateur dans mysql. Maintenant, je veux supprimer l'utilisateur? Comment faire ça? Je reçois cette erreur:

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

J'utilise cette commande:

DROP USER 'user'@'localhost';

C'est une machine Amazon.

Merci

32
user3086014

C'est parce que j'ai créé l'utilisateur à l'aide de la commande:

CREATE USER 'user'@'%' IDENTIFIED BY 'passwd';

et je le supprimais en utilisant:

drop user 'user'@'localhost';

et j'aurais dû utiliser cette commande:

drop user 'user'@'%';
36
user3086014

Il est probable que l'utilisateur que vous essayez de supprimer n'existe pas. Vous pouvez confirmer (ou non) si c'est le cas en exécutant:

select user,Host
from mysql.user
where user = '<your-user>';

Si l'utilisateur existe, essayez d'exécuter:

flush privileges;

drop user 'user'@'localhost';

Une autre chose à vérifier est de vous assurer que vous êtes connecté en tant qu'utilisateur root

Si tout le reste échoue, vous pouvez supprimer manuellement l'utilisateur comme ceci:

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

flush privileges;
40
Tom Mac

Comment résoudre un problème comme celui-ci:

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

Tout d'abord: vous devez vérifier quel hôte de votre utilisateur, tel que:


mysql> select Host,user from user;
+-----------+------+
| Host      | user |
+-----------+------+
| %         | q10  |
| localhost | root |
| localhost | sy   |
| localhost | tom  |
+-----------+------+

si je laisse tomber l'utilisateur 'q10', la commande est:

mysql> drop user 'q10'@'%';
Query OK, 0 rows affected (0.00 sec)

Et si je laisse tomber l'utilisateur 'tom', la commande comme suit:

mysql> drop user 'tom'@'localhost';
Query OK, 0 rows affected (0.00 sec)
4
黄壮壮