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
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'@'%';
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;
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)