2009-11-03 9 views
17

ich in mysql angemeldet bin ...mysql CREATE USER

mysql -u root -pmypass 

Und ich habe den folgenden Befehl ausführen, um die Datenbank-Benutzer zu entfernen, die

mysql> FLUSH PRIVILEGES; DROP USER 'myuser_shop'; 

Ich kann erfolgreich arbeitete dann fügen Sie Benutzer erfolgreich mit der folgende Befehl funktioniert wieder erfolgreich

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

Der obige Befehl erstellt einen Benutzer mit dem Host als ein Platzhalter (%) Das Problem, das ich habe, ist, wenn ich einen Benutzer mit den Host-Wesen zu schaffen, war sagen localhost oder ein externes IP ich die folgende Fehlermeldung erhalten:

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' 

Irgendwelche Vorschläge?

Vielen Dank im Voraus

+1

Was Sie versuchen, sieht in Ordnung für mich aus. Haben Sie http://bugs.mysql.com/bug.php?id=28331 überprüft, um zu sehen, ob Ihr Problem dort beschrieben ist? – jphofmann

+0

+1 für Ihren Kommentar für Svetlozar Angelov - es löste mein Problem auch! – alfasin

Antwort

13

Dies ist ein Fehler hier berichtet - http://bugs.mysql.com/bug.php?id=28331

Sehen Sie, wenn Ihre Benutzer existiert, nachdem Sie es fallen.

+0

Ich habe die 'user' Tabelle in der 'mysql' Datenbank überprüft und es gibt keinen Verweis auf myuser_shop. – Lizard

+5

Eigentlich, obwohl es nicht in der Benutzertabelle erschienen ist, muss es in der db-Datei existiert haben, ich entfernte speziell die FLUSH PRIVILEGES; DROP USER 'myuser_shop' @ 'localhost'; und der CREATE USER hat dann gearbeitet! danke – Lizard

+0

Der Kommentar von @lizard hat für mich funktioniert. – rmarimon

2

Überprüfen Sie die folgenden 2 Tabellen, wenn der Benutzer nach dem DROP USER-Befehl immer noch da ist: mysql.user und mysql.db.

Löschen Sie Benutzer von beiden, dann FLUSH PRIVILEGES ausführen und dann können Sie den Benutzer neu erstellen.

-1

Sie müssen Datensätze mit mysql.tables_priv auch manuell entfernen.

+2

Manuelles Herumspielen in mysql. * Wird nicht empfohlen. – Sammitch

0

drop user 'username @ localhost '

+0

Sie sollten Ihre Antwort mehr erklären – Ascherer

0

i Sie phpMyAdmin seine sehr esey tun damit verwenden vorschlagen.

Schritte:

  1. offen phpMyAdmin
  2. dem Server-Betreiber Abschnitt
  3. Put-Benutzernamen und das Passwort
  4. Set Privilegien

, die alle

  • Hit auf Benutzerkonto hinzufügen Gos siehe in Aktion auf youtube [click here]