我似乎無法重新創建我已刪除的簡單用戶,即使在MySQL中也是如此。錯誤1396(HY000):操作CREATE USER失敗'jack'@'localhost'
我的情況:用戶'傑克'存在之前,但我刪除它從mysql.user爲了重新創建它。我在這張桌子裏看不到這種痕跡。如果我對一些其他隨機用戶名(如'jimmy')執行此命令,它可以正常工作(就像它最初爲'jack'所做的那樣)。
我做了什麼來損壞用戶'jack',以及如何取消該損壞以重新創建'jack'作爲這個MySQL安裝的有效用戶?
請參閱下面的示例。 (當然,最初,有創造「傑克和他的去除之間的時間。)
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)
我已經找到了這個建議,並且早些時候嘗試了但沒有成功,但也許其他的東西是錯誤的。再次嘗試它,然後再與另一個用戶重新創建情況,我發現這實際上確實有效。當然,今天的正式答案是「不要愚蠢」,並使用REVOKE和DROP USER來正確地做。我非常感激所有三個答案(這個答案正好是讓我擺脫目前困境的那個答案)。 – 2011-04-05 17:05:02
現在是2016年,MySQL的版本爲14.14版本,但仍然存在問題。 – 2015-12-18 00:20:21
我首先需要根據@ tver3305答案放棄用戶。 – Shautieh 2016-10-28 16:20:52