[MySQL] ユーザ削除は DELETE文ではなく DROP USER で行う

MySQL で既に存在しているユーザを削除して、同じユーザ名で再作成しようとしたらエラーが発生しました。

MySQL

ユーザを削除する方法は下記のサイトを参考にしました。
 

1
2
3
4
5
6
7
8
mysql> use mysql
Database changed
 
mysql> delete from user where user='shige';
Query OK, 1 row affected (0.00 sec)
 
mysql> create user 'shige' identified by 'passwd';
ERROR 1396 (HY000): Operation CREATE USER failed for 'shige'@'%'

下記の記事によると、ユーザ削除は drop user で行わなければいけないみたいでした。

drop user をした後 create したら正常にユーザを作成できました。

1
2
3
4
5
mysql> drop user shige;
Query OK, 0 rows affected (0.00 sec)
 
mysql> create user 'shige' identified by 'passwd';
Query OK, 0 rows affected (0.00 sec)

以上、MySQL DROP USER クエリでユーザー削除した、現場からお送りしました。