L'aggiunta di un utente a MySQL con 'nome' @ '%' non riesce con ERRORE 1396


9

Ho appena provato ad aggiungere un nuovo utente a MySQL usando

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

Tuttavia, non riesce con il seguente errore:

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

L'aggiunta dell'utente solo per localhost funziona correttamente:

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

Non ho idea di quale potrebbe essere il problema. Sarei grato per qualsiasi idea.

(Sto usando mysql Ver 14.14 Distrib 5.1.66.)


Ho riscontrato il problema simile, mentre CREATE / DROP l'utente, ho verificato tutte le tabelle di concessione per le informazioni sull'utente, non sono riuscito a trovare alcuna informazione dell'utente, ho provato a revocare tutti gli accessi e ho lasciato cadere l'utente, dopo qualche tempo, l'operazione funziona, senza fare eventuali modifiche, ho scritto la mia risposta dettagliata qui rathishkumar.in/2018/10/…
Rathish,

Risposte:


13

Secondo i documenti se ommetti il ​​@ 'hostname' (che è CREATE USER 'name') MySQL lo interpreterà come se avesse un ''% '. Il messaggio di errore che hai fornito suggerisce che esiste già un utente "nome" @ "%" nel 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'@'%'

Se elimini l'utente e ricevi ancora il messaggio, prova a eseguire FLUSH PRIVILEGES.

Vedi anche questa domanda SO per ulteriori informazioni.


1

Stavo affrontando questo stesso errore durante l'utilizzo di mysql: 5.7 docker image. L'errore principale è stato tentare di creare un rootutente esistente per impostazione predefinita. Ulteriori informazioni: https://github.com/docker-library/mysql/issues/129

Come indicato nel link sopra, la soluzione NON doveva essere impostata MYSQL_USERe MYSQL_PASSWORDnelle variabili di ambiente durante l'avvio dell'immagine docker.


Questo mi ha aiutato molto! Non sapevo perché non potevo collegarmi al DB nella finestra mobile e non ho mai sospettato che questo fosse il motivo.
dingo_d
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.