web-dev-qa-db-ja.com

エラー1396(HY000): 'user' @ 'localhost'の操作DROP USERが失敗しました

Mysqlでユーザーを作成しました。今、ユーザーを削除したいですか?どうやってするか?このエラーが発生しています:

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

私はこのコマンドを使用しています:

DROP USER 'user'@'localhost';

そのAmazonマシン。

ありがとう

32
user3086014

コマンドを使用してユーザーを作成したためです:

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

私はそれを使用して削除していました:

drop user 'user'@'localhost';

そして、私はこのコマンドを使用する必要がありました:

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

削除しようとしているユーザーが存在しない可能性があります。次のコマンドを実行すると、これが事実かどうかを確認できます(または確認できません)。

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

ユーザーが存在する場合は、実行してみてください:

flush privileges;

drop user 'user'@'localhost';

確認するもう1つのことは、rootユーザーとしてログインしていることを確認することです。

他のすべてが失敗した場合、次のようにユーザーを手動で削除できます。

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

flush privileges;
40
Tom Mac

このような問題を解決する方法:

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)
4
黄壮壮