2009-11-03 13 views
17

Sono entrato in mysql ...mysql CREATE USER

mysql -u root -pmypass 

E ho eseguire il seguente comando per rimuovere l'utente del database che ha lavorato con successo

mysql> FLUSH PRIVILEGES; DROP USER 'myuser_shop'; 

Posso quindi aggiungere l'utente utilizzando con successo il seguente comando, anche questo funziona correttamente

mysql> FLUSH PRIVILEGES; CREATE USER 'myuser_shop' IDENTIFIED BY 'mypass'; 

Il comando precedente crea un utente con l'host come un carattere jolly (%) La questione che sto avendo è se dovessi creare un utente con l'essere ospite dire localhost o un IP esterno ottengo il seguente errore:

mysql> FLUSH PRIVILEGES; DROP USER 'myuser_shop'; 
mysql> FLUSH PRIVILEGES; CREATE USER 'myuser_shop'@'localhost' IDENTIFIED BY 'mypass'; 

Query OK, 0 rows affected (0.00 sec) 

ERROR 1396 (HY000): Operation CREATE USER failed for 'myuser_shop'@'localhost' 

Qualche suggerimento?

Grazie in anticipo

+1

Quello che stai cercando sembra ok per me. Hai controllato http://bugs.mysql.com/bug.php?id=28331 per vedere se il tuo problema è descritto lì? – jphofmann

+0

+1 per il tuo commento per Svetlozar Angelov - ha risolto anche il mio problema! – alfasin

risposta

13

Si tratta di un bug segnalato qui - http://bugs.mysql.com/bug.php?id=28331

vedere se il vostro utente esiste dopo viene rilasciato.

+0

Ho controllato la tabella 'utente' nel database 'mysql' e non c'è riferimento a myuser_shop. – Lizard

+5

In realtà anche se non è apparso nella tabella utente, deve esistere nel file db, ho rimosso specificamente i FLUSH PRIVILEGES; DROP USER 'myuser_shop' @ 'localhost'; e allora CREATE USER ha funzionato! grazie – Lizard

+0

Il commento di @lizard ha funzionato per me. – rmarimon

2

Controllare le seguenti 2 tabelle se l'utente è ancora lì dopo il comando DROP USER: mysql.user e mysql.db.

Elimina utente da entrambi, quindi esegui FLUSH PRIVILEGES e quindi puoi ricreare l'utente.

-1

È necessario rimuovere manualmente i record con mysql.tables_priv.

+2

L'operazione manuale di "mysql. *" È altamente raccomandata. – Sammitch

0

goccia utente 'username @ localhost '

+0

Dovresti spiegare di più la tua risposta – Ascherer

0

io vi suggerisco di utilizzare phpMyAdmin sua stessa esey fare che fare con questo.

passi:

  1. aperta phpMyAdmin
  2. vai alla sezione admin
  3. successo su account utente aggiuntivo
  4. nome put utente e password
  5. impostare i privilegi

questo è tutto vedere in azione su youtube [click here]