Fehler bei PHP Zugriff auf MySQL - "Access Denied"

Status
Für weitere Antworten geschlossen.

zuckerstar

Benutzer
Mitglied seit
16. Jun 2012
Beiträge
27
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich habe ein Problem wenn ich per PHP-Skript auf meine MySQL Datenbanken zugreifen will. Ich erhalte immer folgende Fehlermeldung:
"Access denied for user 'phpaccess'@'localhost' (using password: YES)"

Ich habe mit phpMyAdmin dem Benutzer phpaccess schon alle erdenklichen Benutzerrechte zugewiesen. Als Host habe ich gewollt "%", also beliebige Hosts gewählt.
Sobald ich anstatt dem Benutzer phpaccess den root Benutzer verwende funktioniert alles. Aus Sicherheitsgründen möchte ich aber nicht einen Benutzer verwenden, der auf alle Datenbanken usw. Zugriff hat.

Ich habe gestern stundenlang nach einer Lösung gesucht, aber nichts gefunden. Könnt ihr mir weiterhelfen? Ich bin ratlos wieso es nicht funktioniert.

Danke und viele Grüße
zuckertstar
 

Frogman

Benutzer
Mitglied seit
01. Sep 2012
Beiträge
17.485
Punkte für Reaktionen
8
Punkte
414
Kannst Du hier einfach mal einen Screenshot der Rechte des Users phpaccess auf die entsprechende DB posten?
 

zuckerstar

Benutzer
Mitglied seit
16. Jun 2012
Beiträge
27
Punkte für Reaktionen
0
Punkte
0
Hier ist der Screenshot. Ich hoffe so etwas hast du gemeint.
Der Nutzer soll keine globalen Rechte haben, sondern nur Rechte auf die Datenbank "LGR".
phpaccess.jpg
 

Frogman

Benutzer
Mitglied seit
01. Sep 2012
Beiträge
17.485
Punkte für Reaktionen
8
Punkte
414

zuckerstar

Benutzer
Mitglied seit
16. Jun 2012
Beiträge
27
Punkte für Reaktionen
0
Punkte
0
Jetzt aber..
phpaccess1.PNG
 

Frogman

Benutzer
Mitglied seit
01. Sep 2012
Beiträge
17.485
Punkte für Reaktionen
8
Punkte
414
Yup, wie vermutet, der darf da ja nix... dann mach da mal die ganzen Checks an die Kästchen...
 

zuckerstar

Benutzer
Mitglied seit
16. Jun 2012
Beiträge
27
Punkte für Reaktionen
0
Punkte
0
Ich habe jetzt bei den datenbankspezifischen Rechten alle Haken gesetzt. Leider klappt der Zugriff immer noch nicht :/
 

Frogman

Benutzer
Mitglied seit
01. Sep 2012
Beiträge
17.485
Punkte für Reaktionen
8
Punkte
414
Neustart?
 

zuckerstar

Benutzer
Mitglied seit
16. Jun 2012
Beiträge
27
Punkte für Reaktionen
0
Punkte
0
Ein kompletter Neustart der DiskStation hat auch nicht geholfen. Blockiert vielleicht diese "MariaDB" etwas?
 

Frogman

Benutzer
Mitglied seit
01. Sep 2012
Beiträge
17.485
Punkte für Reaktionen
8
Punkte
414
Nein, MariaDB ist praktisch die MySQL-Implementierung auf der DS.
 

zuckerstar

Benutzer
Mitglied seit
16. Jun 2012
Beiträge
27
Punkte für Reaktionen
0
Punkte
0
Woran könnte es denn dann liegen?
 

Frogman

Benutzer
Mitglied seit
01. Sep 2012
Beiträge
17.485
Punkte für Reaktionen
8
Punkte
414
Und Du fragst nur diese DB 'LGR' ab?
 

zuckerstar

Benutzer
Mitglied seit
16. Jun 2012
Beiträge
27
Punkte für Reaktionen
0
Punkte
0
Ja ich möchte nur diese eine Datenbank verwenden.
In PHP wähle ich auch nur diese aus.
 

zuckerstar

Benutzer
Mitglied seit
16. Jun 2012
Beiträge
27
Punkte für Reaktionen
0
Punkte
0
Ich habe meinen Fehler gefunden. Das von mir gewählte Passwort hat scheinbar Zeichen enthalten, die nicht zulässig waren. Mit dem Testpasswort "123" hat es funktioniert.
Danke für deine Hilfe!
 

Frogman

Benutzer
Mitglied seit
01. Sep 2012
Beiträge
17.485
Punkte für Reaktionen
8
Punkte
414
Na, wie in den meisten Fällen ein sehr gewöhnlicher Wurm... :)
Danke für die Rückmeldung.
 

paaalm07

Benutzer
Mitglied seit
07. Jan 2017
Beiträge
8
Punkte für Reaktionen
0
Punkte
0
Hallo,
ich grad diesen Thread mal aus!

Habe das selbe Problem, nur es lässt sich nicht durch richtige Schreibweise des Passwortes beheben.

Kurze Rekapitulation meines (des ursprünglichen) Problems:
Ich habe in phpMyAdmin einen neuen Benutzer "testing" angelegt, Hostname "Jeder Host %", Passwort "12345" und Häckchen bei "Erstelle eine Datenbank mit gleichem Namen und gewähre alle Rechte." Bestätigen mit OK und ohne Fehlermeldung zum Abschluss "Der Benutzer wurde hinzugefügt."
Wenn ich mich nun mit diesem Benutzer "testing" einloggen will kommem die Fehlermeldungen:
#1045 - Access denied for user 'testing'@'localhost' (using password: YES)
und
mysqli_real_connect(): (HY000/1045): Access denied for user 'testing'@'localhost' (using password: YES)

Wenn ich mit MS Access versuche zu einer ODBC Datenbank (via ODBC Connector 5.3) zur Datenbank zu verbinden funktioniert es. "Connection successfull" und ich kann Tabellen editieren.

Hätte hierfür jemand einen Rat?

Verwendet wird ein DS216+II mit DSM 6.0.2-8451 Update 7.
.htaccess Datei wurde erstellt und das Aufrufen von phpMyAdmin nur über das lokale Netzwerk zu ermöglichen (dies sollte aber keine Fehlerquelle sein)
Neustart des Systems bringt auch keine Lösung mit sich.

Vielen Dank schon einmal
 

heavy

Benutzer
Mitglied seit
13. Mai 2012
Beiträge
3.749
Punkte für Reaktionen
152
Punkte
129
Wenn du den richtigen thread rausgekramt hättest, dann wärst du darauf gestoßen dass das ein phpMyAdmin problem ist. Entweder per console das passwort setzen oder auf eine ältere version zurückgehen
 

paaalm07

Benutzer
Mitglied seit
07. Jan 2017
Beiträge
8
Punkte für Reaktionen
0
Punkte
0
Ok verstehe.

Ältere Version ist 4.0 oder wie alt? Aktuell ist 4.6.5-0169 bei mir.
Reicht es den Inhalt des Verzeichnisses /volume1/web/phpMyAdmin zu ersetzen oder wie ist die Vorgehensweise?

Kannst du mir auch verraten wie ich das Passwort per Konsole setze?
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat