Page 1 of 1

Access denied for user 'root'@'localhost' (using password: Y

Posted: 2013-08-02 08:03
by andy-stoltze
Hallo liebe User,
ich habe gerade festgestellt, dass ich ein kleines SQL Problem habe.
Wenn ich z.B. in ISPCP Omega einen User löschen möchte, der eine mySQL Datenbank hat, meldet der Server

Code: Select all

Access denied for user 'root'@'localhost' (using password: YES) - Query: REVOKE ALL ON *.* FROM ?@'%';
der User wird gelöscht aber nur im ISPCP und nicht in mySQL
kann jemand helfen?
root hat alle berechtigungen in mySQL incl. REVOKE und GRANT

beste Grüße
Andreas

Re: Access denied for user 'root'@'localhost' (using passwor

Posted: 2013-08-02 09:50
by ddm3ve
Log dich mal als root auf der Datenbank ein und führe folgenden Befehl aus:

select user, host from mysql.user where user like "root";

Dem Ergebniss wirst Du entnehmen können, dass es u.U. mehrerer root Accounts gibt.

Re: Access denied for user 'root'@'localhost' (using passwor

Posted: 2013-08-02 10:13
by andy-stoltze
Ergebnis:
+------+-----------+
| user | host |
+------+-----------+
| root | localhost |
+------+-----------+
ich habe auch schon versucht einen root für host % anzulegen.
Funktioniert, aber er bekommt kein GRANT und kein SUPER :(

Code: Select all

GRANT ALL PRIVILEGES ON * . * TO  'root'@'%' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;


MySQL meldet: Dokumentation

#1045 - Access denied for user 'root'@'localhost' (using password: YES) 

Re: Access denied for user 'root'@'localhost' (using passwor

Posted: 2013-08-02 10:44
by ddm3ve
wenn, dann sollte es so lauten:
GRANT ALL PRIVILEGES ON * . * TO 'root'@'localhost' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;

'user'@'host' ist ein eindeutiger Benutzer.

z.B.
'root'@'%'
ist ein anderer Benutzer als
'root'@'localhost'

Das ist wichtig zu verstehen.

In Deinem Fall hast Du Rechte für einen Benutzer definiert, den es gar nicht gibt.
Du solltest nun klären, welcher der vorhanden Benutzer eigentlich noch alle Rechte hat.

Code: Select all

show grants for 'user'@'host';
Sollte keiner der Benutzer GRANT Optionen haben und ALL PRIVILEGES erhalten haben, wird es etwas aufwändiger die Rechte zu korrigieren.


Das wäre unter anderem ein Lösungsweg.

Code: Select all

/etc/init.d/mysql stop
mysqld_safe --skip-grant-tables --user=root --skip-networking &
mysql -u anyuser

FLUSH PRIVILEGES;
CREATE USER root;
SET PASSWORD FOR root = PASSWORD('NeuesKennwort');
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'NeuesKennwort' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
FLUSH PRIVILEGES;
QUIT
Oder Siehe hier:
http://www.rootforum.org/forum/viewtopi ... 03&t=35082
http://dev.mysql.com/doc/refman/5.1/de/ ... sions.html

Re: Access denied for user 'root'@'localhost' (using passwor

Posted: 2013-08-03 22:46
by andy-stoltze
liest sich sehr gut! kann es leider noch nicht ausprobieren :( melde mich nochmal wenn ichs getestet habe. DANKE!!!

Re: Access denied for user 'root'@'localhost' (using passwor

Posted: 2013-08-05 00:48
by andy-stoltze
mmhhhh, nix wars mit Revoke! die Spalte hat gefehlt in der mysql tabelle :?
hab ich nach 20 blauen Flecken an der Stirn durch das an die Wand rennen bemerkt ](*,)
Spalte von Hand eingefügt -> jetzt läuft alles wieder rund 8)
Thanks for all!!! :)
(MERKE -> nach einem Update alles Prüfen!!)

Re: Access denied for user 'root'@'localhost' (using passwor

Posted: 2013-08-05 10:47
by ddm3ve
In dem Fall bringt aber mysql schon ausreichende Tools mit um einen Update durch zu führen.
Würde den Weg auch nicht "verlassen".

Re: Access denied for user 'root'@'localhost' (using passwor

Posted: 2013-08-05 11:26
by Joe User
Bitte mal durchlaufen lassen, um etwaige weitere Fehler in den MySQL-eigenen Datenbanken zu beheben:

Code: Select all

mysql_update