Agregar un usuario a MySQL con 'nombre' @ '%' falla con ERROR 1396

9

Intenté agregar un nuevo usuario a MySQL usando

CREATE USER 'name'@'%' IDENTIFIED BY '...'

Sin embargo, falla con el siguiente error:

ERROR 1396 (HY000): Operation CREATE USER failed for 'name'@'%'

Agregar el usuario solo para localhost funciona bien:

CREATE USER 'name'@'localhost' IDENTIFIED BY '...'

No tengo idea de cuál podría ser el problema. Agradecería cualquier idea.

(Estoy usando mysql Ver 14.14 Distrib 5.1.66)

Petr Pudlák
fuente
Me enfrenté al problema similar, mientras CREAR / DROP el usuario, verifiqué todas las tablas de otorgamiento de información del usuario, no pude encontrar ninguna información del usuario, intenté revocar todo el acceso y descarté al usuario, después de algún tiempo, la operación funciona, sin hacer cualquier cambio, escribí mi respuesta detallada aquí rathishkumar.in/2018/10/…
Rathish

Respuestas:

13

Según los documentos, si omite el @ 'nombre de host' (es decir, CREATE USER 'name') MySQL lo interpretará como si tuviera un @ '%'. El mensaje de error que proporcionó sugiere que ya hay un usuario 'nombre' @ '%' en el sistema:

mysql> CREATE USER 'name'@'%' IDENTIFIED BY 'test';
Query OK, 0 rows affected (0.04 sec)

mysql> CREATE USER 'name'@'%' IDENTIFIED BY 'test';
ERROR 1396 (HY000): Operation CREATE USER failed for 'name'@'%'
mysql> CREATE USER 'name' IDENTIFIED BY 'test';
ERROR 1396 (HY000): Operation CREATE USER failed for 'name'@'%'

Si elimina el usuario y aún recibe el mensaje, intente ejecutar FLUSH PRIVILEGES.

Consulte también esta pregunta SO para obtener información adicional.

Redguy
fuente
1

Estaba enfrentando este mismo error al usar mysql: 5.7 docker image. El error principal fue intentar crear un rootusuario que existe por defecto. Más información: https://github.com/docker-library/mysql/issues/129

Como se indica en el enlace anterior, la solución fue NO establecer MYSQL_USERy MYSQL_PASSWORDen las variables de entorno al iniciar la imagen del acoplador.

rahuljain1311
fuente
¡Esto me ayudó mucho! No sabía por qué no podía conectarme a la base de datos en Docker y nunca sospeché que esa fuera la razón.
dingo_d