Access Denied- for User www-data ? Warum ?

denndsd

New Member
Hallo zusammen,

ich habe einen SQL Server und wollte einen steamers Admin Panel installieren.
Das Problem ist das ich keine Verbindung bekomme.
Da scheint was nicht an den rechten zu stimmen.
Aber was muss da genau gemacht werden ?

Die Meldung bekomme ich

ERROR: Unable to connect to MySQL server! Error: Access denied for user 'www-data'@'localhost' (using password: NO)
 
Du versuchst dich mit dem user www-data und ohne Kennwort am MySQL Server anzumelden. Das wird und sollte auch nicht funktionieren.

Habe das streamers admin panel noch nicht installiert....
Legt der bei der Installation eine Datenbank an, oder musst du die vorher selber anlegen?
Um die Datenbank zu erstellen, benötigt das Script oder du einen user mit Kennwort um auf den MySQL Server zuzugreifen - normalerweise heißt der auch root.

Beim erstellen der Datenbank sollte dann ein neuer user mit Kennwort erstellt werden, der das Recht hat auf die streamers Datenbak zuzugreifen. Die muss dann bei der Installation irgendwo hinterlegt werden.
 
Ja bei der installation werde gefragt ob ich eine anlegen will und ob ich eine erstellen will.
Und mit benutzer gebe ich root und mein root passwort an.
Die Datnebank erstelle ich vorher schon.
In der Config von. mysql steht dann folgendes

DB::$user = $app->config('root');
DB::$password = $app->config('beta,123');
DB::$dbName = $app->config('root');
DB::$host = $app->config('localhost');
DB::$port = $app->config('3306');
DB::$encoding = $app->config('db.encoding');
 
Das Kennwort vom mysql root user muss aber nicht dem Kennwort des system root users entsprechen!

Wenn du die DB vorher angelegt hast, hast du dann nicht auch einen extra user für die DB erstellt? Der müsste dann angegeben werden.

Wenn ich das in der Config richtig sehe, hast du als DB Name auch root agegeben. Ist das so richtig :confused:

Die Fehlermeldung passt dann aber gar nicht zur Config-Datei. Da versucht er sich ja mit dem user www-data zu verbinden und nicht mit dem root user.
 
Ja richtig.
Der User Root steht in der config komplettgeauso wie das Kennwort.
Ich habe daa Kennwort überprüft ist richtig.
Mit dem Terminal komme ich rein.
PhpmAdmin kann eben auch nicht zugreifen.

Das PHP Script soll auf die Datenbank zugreifen was sie leider nicht kann.
Deswegen bin ich ja so erstaunt über die Fehlermeldung.
 
Ich hab das Gefühl wir reden hier irgendwie aneinander vorbei :confused:

Vielleicht kann es ja jemand anderes besser erklären....
 
Mit dem Terminal komme ich rein.
PhpmAdmin kann eben auch nicht zugreifen.

Der Benutzer root für SSH (Terminal) und der Benutzer root für MySQL (PHPMyAdmin) ist NICHT der gleiche. Die beiden User haben trotz des gleichen Namens nichts miteinander zu tun und daher erst mal unterschiedliche Passwörter (sofern du sie nicht manuell gliechgezogen hast) - und in deinem Fall dürften sie auch unterschiedlich sein.
Außerdem hat der Benutzer root in MySQL bei den meisten Installationen standardmäßig viel zu viele Rechte, um ihn in einem Website-Script zu verwenden - dafür solltest du einen extra User anlegen, der auch nur den Zugriff auf die Datenbanken erhält auf die er auch zugreiffen muß.
 
Code:
ERROR: Unable to connect to MySQL server! Error: Access denied for user 'www-data'@'localhost' (using password: NO)

Bin zwar kein Spezialist, was Datenbanken angeht, aber Fehlermeldung sollte man komplett lesen und richtig interpretieren.

Der MySQL-Benutzer www-data hat keine Berechtigung auf localhost zuzugreifen. Es wird ein kein Passwort verwendet.

Schritt 0: Lernen, dass Systemuser, Datenbankuser und sonstiges generell erstmal völlig unabhängig voneinander sind.

Schritt 1: Mit mysql in der Kommandozeile prüfen ob der Login mit www-data inklusive dem Passwort möglich ist. Von mir aus auch mit dem User root. Wie das geht, steht im Internet. Ich meine das war mysql -u USER -p PASSWORD DATENBANK. Ist schon zu lange her.

Schritt 2: Herausfinden wieso die eingesetzte PHP-Webanwendung kein Passwort für den Datenbankbenutzer verwendet oder hast du das Feld einfach leer gelassen?

Bei dem Problem musst du systematisch vorgehen. Erstmal alles andere ausschließen, damit du dann den Fehler findest.
 
Last edited by a moderator:
Back
Top