Parece que no puedo volver a crear un usuario simple que he eliminado, incluso como root en MySQL.
Mi caso: el usuario 'jack' existía antes, pero lo eliminé de mysql.user para recrearlo. No veo vestigios de esto en esa mesa. Si ejecuto este comando para otro nombre de usuario aleatorio, digamos 'jimmy', funciona bien (tal como lo hizo originalmente para 'jack').
¿Qué he hecho para dañar el 'jack' del usuario y cómo puedo deshacer ese daño para volver a crear el 'jack' como un usuario válido para esta instalación de MySQL?
Ver ejemplo a continuación. (Por supuesto, originalmente, había mucho tiempo entre la creación de 'jack' y su eliminación).
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)