Błąd 1396 (HY000): operacja upuść użytkownika nie powiodła się dla 'użytkownik' @ 'localhost'

Utworzyłem użytkownika w mysql. Teraz chcę usunąć użytkownika ? Jak to zrobić? Dostaję ten błąd:

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

Używam tego polecenia:

DROP USER 'user'@'localhost';
To maszyna Amazonek.

Dzięki

Author: user3086014, 2013-12-20

4 answers

To dlatego, że stworzyłem użytkownika za pomocą polecenia:

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

I kasowałem go używając:

drop user 'user'@'localhost';

I powinienem użyć tego polecenia:

drop user 'user'@'%';
 49
Author: user3086014,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-12-20 09:09:03

Jest prawdopodobne, że użytkownik, którego próbujesz upuścić, nie istnieje. Możesz potwierdzić (lub nie), czy tak jest, uruchamiając:

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

Jeśli użytkownik istnieje, spróbuj uruchomić:

flush privileges;

drop user 'user'@'localhost';

Kolejną rzeczą do sprawdzenia jest upewnienie się, że jesteś zalogowany jako root Użytkownik

Jeśli Wszystko inne zawiedzie, możesz ręcznie usunąć użytkownika w następujący sposób:

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

flush privileges;
 46
Author: Tom Mac,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-12-20 08:48:02

Jak rozwiązać taki problem:

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

Po pierwsze: powinieneś sprawdzić jaki host Twojego użytkownika, np.:


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

Jeśli opuszczę użytkownika 'q10', komenda jest następująca:

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

I jeśli upuszczę użytkownika 'tom', polecenie w następujący sposób:

mysql> drop user 'tom'@'localhost';
Query OK, 0 rows affected (0.00 sec)
 13
Author: Q10Viking,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-11 15:41:51

Spróbuj użyć 'user' @ 'localhost' bez cudzysłowów:

DROP USER user@localhost;

Powinno tak działać w MySQL 8. Też miałem ten problem.

 0
Author: t7e,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-09-09 13:35:43