1. ホーム
  2. mysql

[解決済み] エラー 1396 (hy000)。jack'@'localhost' の CREATE USER 操作に失敗しました。

2022-03-14 16:48:49

質問

削除したシンプルなユーザーをMySQLのroot権限でも再作成できないようです。

私の場合:ユーザー 'jack' は以前から存在していましたが、再作成するために mysql.user からそれを削除しました。そのテーブルには、その名残は見当たりません。このコマンドを他のランダムなユーザー名、例えば'jimmy'に対して実行すると、(もともと'jack'に対して実行したのと同じように)うまくいきます。

ユーザー 'jack' を破損させるようなことをしたのでしょうか。また、この破損を元に戻して、このインストールの MySQL で有効なユーザーとして 'jack' を再作成するにはどうすればよいのでしょうか。

以下の例をご覧ください。(もちろん、元々、'jack'が作成されてから削除されるまでには多くの時間がありました)。

mysql> CREATE USER 'jack'@'localhost' IDENTIFIED BY 'test123';
Query OK, 0 rows affected (0.00 sec)

mysql> select user,host from user;
+------------------+-----------------+
| user             | host            |
+------------------+-----------------+
| root             | 127.0.0.1       |
| debian-sys-maint | localhost       |
| jack             | localhost       |
| root             | localhost       |
| root             | russ-elite-book |
+------------------+-----------------+
5 rows in set (0.00 sec)

mysql> delete from user where user = 'jack';
Query OK, 1 row affected (0.00 sec)

mysql> select user,host from user;
+------------------+-----------------+
| user             | host            |
+------------------+-----------------+
| root             | 127.0.0.1       |
| debian-sys-maint | localhost       |
| root             | localhost       |
| root             | russ-elite-book |
+------------------+-----------------+
4 rows in set (0.00 sec)

mysql> CREATE USER 'jack'@'localhost' IDENTIFIED BY 'test123';
ERROR 1396 (HY000): Operation CREATE USER failed for 'jack'@'localhost'
mysql> CREATE USER 'jimmy'@'localhost' IDENTIFIED BY 'test123';
Query OK, 0 rows affected (0.00 sec)

mysql> select user,host from user;
+------------------+-----------------+
| user             | host            |
+------------------+-----------------+
| root             | 127.0.0.1       |
| debian-sys-maint | localhost       |
| jimmy            | localhost       |
| root             | localhost       |
| root             | russ-elite-book |
+------------------+-----------------+
5 rows in set (0.00 sec)

解決方法は?

を実行してみてください。 FLUSH PRIVILEGES; . このエラーコードに関するMySQLのバグポスト は、プライバシーのフラッシュ後に、あなたのようなケースで成功したことを報告しているようです。