Wydaje mi się, że nie mogę odtworzyć prostego użytkownika, który usunąłem, nawet jako root w MySQL.
Mój przypadek: użytkownik „jack” istniał wcześniej, ale usunąłem go z mysql.user, aby go odtworzyć. Nie widzę w tym śladu. Jeśli wykonam to polecenie dla innej losowej nazwy użytkownika, powiedzmy „Jimmy”, zadziała to dobrze (tak jak pierwotnie dla „Jacka”).
Co zrobiłem, aby zepsuć użytkownika „jack” i jak mogę cofnąć to uszkodzenie, aby ponownie utworzyć „jack” jako prawidłowego użytkownika dla tej instalacji MySQL?
Zobacz przykład poniżej. (Oczywiście początkowo istniało dużo czasu między stworzeniem „Jacka” a jego usunięciem).
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)