Access denied als root

Ben.

Registered User
Hi,

Ich lege mit folgendem Befehl einen Benutzer an:

Code:
GRANT ALL PRIVILEGES ON * . * TO  'youruser'@'localhost' IDENTIFIED BY  'yourpawd' WITH GRANT OPTION;

Ich bin als root angemeldet und habe auch laut mysql.user alle Berechtigungen (alles auf Y).
Wenn ich aber einem neuen Benutzer die Berechtigung CREATE USER erteilen möchte, erhalte ich einen ACCESS DENIED.

Stehe ich auf dem Schlauch?
 
Flush privileges habe ich ausgeführt.

show grants for user@host

Ergebnis:

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'user'@'host' IDENTIFIED BY PASSWORD 'xxx' WITH GRANT OPTION

Es existieren 3 root-User, ich kann auch neue Benutzer anlegen, aber ich kann keinen Benutzer anlegen und diesem neuen dann CREATE USER-Rechte geben, obwohl ich selber ja über dieses Recht verfüge.

Nachtrag: phpMyAdmin legt einen Benutzer wie folgt an:
CREATE USER 'abc'@'www.abc.ch' IDENTIFIED BY '***';
GRANT ALL PRIVILEGES ON *.* TO 'abc'@'www.abc.ch' IDENTIFIED BY '***' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;

Sequel bspw. legt ihn so an:
CREATE USER 'abc'@'www.abc.ch' IDENTIFIED BY PASSWORD '***';
UPDATE mysql.user SET max_questions = 0, max_updates = 0, max_connections = 0 WHERE User = 'abc' AND Host = 'www.abc.ch';
GRANT CREATE ROUTINE, CREATE VIEW, CREATE USER, ALTER, SHOW VIEW, CREATE, ALTER ROUTINE, EVENT, SUPER, INSERT, RELOAD, SELECT, DELETE, FILE, SHOW DATABASES, TRIGGER, SHUTDOWN, REPLICATION CLIENT, GRANT OPTION, PROCESS, REFERENCES, UPDATE, DROP, REPLICATION SLAVE, EXECUTE, LOCK TABLES, CREATE TEMPORARY TABLES, INDEX ON *.* TO 'abc'@'www.abc.ch';
FLUSH PRIVILEGES;

Letztere Befehlsfolge funktioniert.
 
Last edited by a moderator:
Ein SHOW GRANTS auf den User nicht den Admin wäre hilfreicher gewesen.
Der User braucht für CREATE USER Schreibrechte auf 'mysql'.'*', hat er diese?
 
Problem behoben.

Die User-Tabelle war unvollständig. Es fehlten 3 Spalten... Interessantes Phänomen.
 
Unvollständiges MySQL-Update also, künftig bitte nach jedem Update (Major/Minor/Release/Build) `mysql_upgrade` aufrufen.
 
Dass von einer 5.1 auf einer 5.5 umgestellt wurde, erfährt man natürlich nur dann, wenn auch der Kunde das weiss bzw. das Vorgängersystem zur Verfügung steht.

Beides nicht => Rätselraten.
 
Back
Top