MySQL Access denied?
Ich benutze XAMPP und möchte mich bei phpMyAdmin anmelden, da kommt aber dann diese Exception: mysqli::real_connect(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: NO)
2 Antworten
Eigentlich steht's schon drin in der Meldung: phpMyadmin nimmt bei Dir aktuell kein Kennwort für die Anmeldung von root, in MySQL ist aber eins konfiguriert. Oder der Account "root" ist im MySQL nicht vorhanden (was ich aber nicht glaube).
in der config.inc.php im phpMyadmin-Verzeichnis sollten beim Abschnitt für den betreffenden Server die Zeilen
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'blablubbs';
existieren. Dabei wird dann bei Dir vermutlich beim Passwort statt 'blablubbs' nichts drinstehen oder die Zeile ist auskommentiert.
das würde ich aber nciht als erstes machen . das kann super zerstören .
Genau. Nicht auskommentiert, es steht einfach nicht drin. Aber das ist es doch? Ich benutze ja auch kein Passwort
Exakt. Da steht kein Passwort drinnen, aber das ist ja das Problem. Ich benutze kein Passwort, habe sogar schonmal versucht, ein Passwort einzugeben und überall demnach zu ändern, aber auch ohne Erfolg
Hast du einen direkten oder einen ssh-Zugriff auf das System? Falls ja - was sagt denn
mysql
(da sollte dann eigentlich die gleiche Fehlermeldung kommen wie bei phpMyAdmin) bzw.
mysql -p
(in diesem Fall fragt er nach dem Kennwort)?
Da kommt auch die gleiche Fehlermeldung. Bei -p eben noch (using password: YES) aber das ist ja klar
Dann hast Du aber an irgendeiner Stelle mal ein Passwort vergeben. Ohne einen Benutzeraccount, der wenigstens auf die Datenbank "mysql" Schreibrechte hat (und damit einen vorhandenen Benutzer ändern oder einen neuen anlegen könnte), sieht das jetzt eher schlecht aus.
Je nach Linux-Distribution wird bei der Installation noch ein Maintenance-Benutzer angelegt, der die entsprechenden Rechte hätte.
Es gibt bei mir noch einen zweiten Benutzer das stimmt, der heißt pma@localhost, aber wenn ich in der Shell
mysql pma@localhost
eingebe, dann kommt auch nur
ERROR 1045 (28000): Access denied for user 'User'@'localhost' (using password: NO)
pma ist auch in der config.inc.php als controluser eingetragen
dem müsstest Du ein "-u " voranstellen, das "@localhost" kannst Du weglassen, das wird automatisch gesetzt. Also
mysql -u pma
Allerdings wird der Benutzer pma nicht die ausreichenden Rechte haben, um das Kennwort für root zu setzen.
Falls Du Debian hast, dann ist das der Benutzer debian-sys-maint, ich vermute, dass das bei Ubuntu ebenso ist.
Aha! mit
mysql -u pma
komme ich rein. Soll ich den jetzt anstelle von root einfach pma verwenden oder gibt es einen Command damit ich root die Rechte geben kann
Mit reinkommen meine ich übrigens nur in der Shell, wenn ich versuche auf localhost/phpmyadmin zu gehen, dann steht auch bei pma
mysqli::real_connect(): (HY000/1045): Access denied for user 'pma'@'localhost' (using password: NO)
Damit bist Du erst mal nur angemeldet. Welche Rechte mit dem Benutzer pma verbunden sind, weißt Du damit erst mal noch nicht. Du könntest z.B. versuchen, einen neuen Benutzer mit root-Rechten anzulegen. Falls der pma nicht das Recht dazu hat, wirst Du gleich bei der ersten Zeile eine Fehlermeldung bekommen:
CREATE USER 'poweruser'@'localhost' IDENTIFIED BY 'ganzgeheimespasswort';
GRANT ALL PRIVILEGES ON * . * TO 'poweruser'@'localhost';
FLUSH PRIVILEGES;
Eigentlich ist ja Dein Problem "nur", dass der Benutzer "root" jetzt offenbar ein Kennwort hat und Du derzeit keine Vorstellung davon hast, welches das sein könnte.
Frag mal die gute Tante Google nach
mysql reset root password
Da bekommst Du mehrere Seiten mit einer Schritt-für-Schritt-Anleitung für das Zurücksetzen des Kennworts von 'root' angeboten. Denn das mit dem Kennwort ist ja keine Sackgasse.
Ja, leider bekomme ich schon beim ersten eine Fehlermeldung
dann hast du beim einrichten nicht aufgepasst .
entweder läuft es ohne passwort
oder du hast da rumgefummelt nach dem installieren .
Brauchst du irgendeine Config? Ich hab nämlich eigentlich schon alle Passwörter überprüft