Problem mit phpmyadmin - Neue Benutzer kann sich nicht einloggen
Hallo, ich habe ein Problem mit meiner Entwicklungsumgebung und genauer phpmyadmin.
Auf dem Win7-Rechner ist XAMPP installiert. MYSQL root und die htacess-Datei von XAMPP haben bereits ein Passwortschutz bekommen, wie XAMPP es selbst empfiehlt.
Nun wollte ich über phpmyadmin einen Nutzer anlegen, welcher auch nur auf seiner Datenbank zugreifen kann und dort aber alles darf. Wie es u.a. auch auf externen Servern regulär der Fall ist.
Mein Vorgehen:
- Login über "root" und mit entsprechendem Passwort.
- Menüpunkt: "Benutzer" ausgewählt und auf die Benutzerübersich gekommen
- "neuer Benutzer hinzufügen" ausgewählt
- Daten eingeben (PW ist natürlich nicht XXXX):
- Benutzername [Textfeld verwenden]: Melanie
- Host: [jeder Host]: %
- Passwort [Texfeld verwenden]: XXXX
- Passwort wiederholen: XXXX
Passwort Generieren wurde nicht genutzt
Datenbank für Benutzer: (Auswahl von) Erstelle Datenbank mit gleichen Namen und gewähre alle Rechte
- Globale Rechte: nix ausgewählt, ist aktuell nicht notwendig
- Ressourcenbeschränkung: Alles auf 0 für MAX QUERIES PER HOUR, MAX UPDATES PER HOUR, MAX CONNECTIONS PER HOUR, MAX USER_CONNECTIONS
- Auswahl "Benutzer hinzufügen"
- An der Seite wird die Datenbank "melanie" angezeigt, ebenso ist in der Benutzerübersicht der Benutzer Melanie, Host %, Passwort ja, Globale Rechte "Usage", Grant nein
- Ausloggen als root
- Login-Versuch mit Benutzer: Benutzername: Melanie, Passwort: XXXX
- Fehler: Anmeldung am MySQL-Server ist fehlgeschlagen.
Der Erzeugte SQL-Code bei phpmyadmin darüber ist folgend:
CREATE USER 'Melanie'@'%' IDENTIFIED BY '***';
GRANT USAGE ON * . * TO 'Melanie'@'%' IDENTIFIED BY '***' WITH
MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0
MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
CREATE DATABASE IF NOT EXISTS `Melanie` ;
GRANT ALL PRIVILEGES ON `Melanie` . * TO 'Melanie'@'%';
Kann mir vielleicht jemand helfen und sagen woran es liegt und was ich ändern muss?
Ich hatte es davor bereits versucht in dem ich alle globalen Rechte übergebe, aber dies würde ja bedeuten, dass er auch alle anderen Datenbanken sieht und bearbeiten könnte. Was nicht nötig ist. Daran dürfte es also eigentlich liegen - glaube ich -. Aber irgendwo steckt da der Fehler drin.
2 Antworten
Das Problem ist, das das Konto "jeder@localhost" Vorrang bekommt, weil zuerst der Hostbestandteil ausgewertet wird und da ein spezifizierter Host Vorrang vor "%" hat. "melanie@%" passt nun aber auch auf "%@localhost" oder "%@linux". Die "Jeder"-Benutzer haben nun aber keine Rechte auf der Datenbank, weswegen der Fehler kommt. Lege melanie@localhost oder melanie@linux zusätzlich an, oder aber lösche die jeder@ Regeln komplett.
Hi, danke für diesen Tipp.
Ich habe nun alle "Jeder"-Benutzer Rechte gelöscht. Erst wollte es mich dann auch nicht auf phpmyadmin lassen. Aber wahrscheinlich habe ich hier eher das PW vergessen.
Nachdem ich den Benutzer und die DB gelöscht hatte und wie zuvor neu angelegt konnte ich mich mich auch damit anmelden.
~ Frage wurde beantwortet ~ Aber erst nach 2 Antworten gibts "Beste Antwort"