Tôi dường như không thể tạo lại một người dùng đơn giản mà tôi đã xóa, ngay cả khi đã root trong MySQL.
Trường hợp của tôi: người dùng 'jack' đã tồn tại trước đó, nhưng tôi đã xóa nó khỏi mysql.user để tạo lại nó. Tôi thấy không có dấu tích này trong bảng đó. Nếu tôi thực thi lệnh này cho một số tên người dùng ngẫu nhiên khác, giả sử 'jimmy', nó hoạt động tốt (giống như ban đầu đã làm cho 'jack').
Tôi đã làm gì để làm hỏng 'jack' của người dùng và làm cách nào tôi có thể hoàn tác tham nhũng đó để tạo lại 'jack' với tư cách là người dùng hợp lệ cho cài đặt MySQL này?
Xem ví dụ dưới đây. (Tất nhiên, ban đầu, có nhiều thời gian giữa việc tạo ra 'jack' và việc loại bỏ anh ta.)
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)