Mi sembra di non riuscire a ricreare un utente semplice che ho eliminato, anche come root in MySQL.
Il mio caso: l'utente "jack" esisteva prima, ma l'ho eliminato da mysql.user per ricrearlo. Non vedo tracce di questo in quella tabella. Se eseguo questo comando per qualche altro nome utente casuale, dico "jimmy", funziona benissimo (proprio come in origine per "jack").
Che cosa ho fatto per corrompere l'utente "jack" e come posso annullare quella corruzione al fine di ricreare "jack" come utente valido per questa installazione di MySQL?
Vedi esempio sotto. (Naturalmente, in origine, c'era molto tempo tra la creazione di "jack" e la sua rimozione.)
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)