[gelöst] Access denied - using password: No

Und alles was mit phpMyAdmin seine Verwandtschaft findet hat hier seinen Platz.

[gelöst] Access denied - using password: No

Postby twelve » 02. May 2007 17:33

Hallo,

ich verwende MySQL 5.0.37, phpMyAdmin 2.10.1 und habe für den Benutzer "root" in MySQL ein Kennwort gesetzt (zu Testzwecken "temp").
Überprüft habe ich es auf der Konsole mit "mysql -u root -p status".

Wenn ich nun die Zugangsdaten in der "config.inc.php" von phpMyAdmin eingetragen habe:
$cfg['Servers'][$i]['auth_type'] = 'config'
$cfg['Servers'][$i]['user'] = 'root"
$cfg['Servers'][$i]['password'] = 'temp'
erhalte ich als Fehlermeldungen:
phpMyAdmin:
#1045 - Access denied for user 'root'@'localhost' (using password: NO)
MySQL-Log:
Access denied for user 'root'@'localhost' (using password: NO).

Also habe ich $cfg['Servers'][$i]['auth_type'] = 'http' versucht. Mit dem Ergebnis, dass ich immer wieder nach dem Benutzernamen und dem Kennwort gefragt werde (ESC -> Falscher Benutzername/Passwort. Zugriff verweigert).

Wenn ich das MySQL-Kennwort entferne funktioniert der Login ohne Probleme.

Es scheint also, dass phpMyAdmin das Kennwort nicht an MySQL übermittelt bzw. MySQL es nicht erkennt.

Vielleich kann ja jemand helfen.

Gruß
Robert

P.S.: Bei meinen Tests ist mir aufgefallen, dass phpMyAdmin (unter Linux) zum Authentifizieren bei der Einstellung
$cfg['Servers'][$i]['auth_type'] = 'config' nicht den Benutzernamen aus $cfg['Servers'][$i]['user'] verwendet, sondern den Besitzer des Ordners von phpMyAdmin.
Last edited by twelve on 10. May 2007 18:07, edited 1 time in total.
twelve
 
Posts: 12
Joined: 15. February 2006 19:32

Postby Wiedmann » 02. May 2007 17:50

P.S.: Bei meinen Tests ist mir aufgefallen, dass phpMyAdmin (unter Linux) zum Authentifizieren bei der Einstellung
$cfg['Servers'][$i]['auth_type'] = 'config' nicht den Benutzernamen aus $cfg['Servers'][$i]['user'] verwendet, sondern den Besitzer des Ordners von phpMyAdmin.

Du hast das Security - Script vom XAMPP/Linux ausgeführt? Falls ja, und es jetzt in diesem Verzeichnis eine ".htaccess" gibt, lösche diese.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby twelve » 02. May 2007 17:59

Hallo Wiedmann,

ich verwende kein XAMMP und phpMyAdmin liegt in einem ungeschützten http-Verzeichnis.

Robert
twelve
 
Posts: 12
Joined: 15. February 2006 19:32

Postby marcel2005 » 03. May 2007 10:56

hmm das kann doch echt nicht sein, dass so viele Leute hier diesen Fehler haben...

ich komme auch in phpmyadmin nichtmehr rein..

hab mir heute bestimmt 2h lang hier die threads durchgelesen, FAQs, Tutorials aber weitergekommen bin ich immernoch nicht


man man
marcel2005
 
Posts: 9
Joined: 03. May 2007 10:54

Postby sari42 » 03. May 2007 20:21

2 häufige fehler:
config.inc.php nicht im hauptdir
oder session.save_path falsch oder keine schreibrechte für php
sari42
 
Posts: 800
Joined: 27. November 2005 18:28

Postby twelve » 10. May 2007 15:33

Also ich habe zumindest den Fehler gefunden.

Es liegt wie vermutet am safe_mode von PHP.
Allerdings nicht an nicht gesetzten Variablen, sondern an der Tatsache, dass es PHP im safe_mode nicht zulässt, dass dem Befehl mysql_connect() die Parameter host/user/password übergeben werden können, was phpMyAdmin allerdings versucht.
Datei: .../phpmyadmin/libraries/dbi/mysql.dbi.lib.php
Zeile: 33
Code: Select all
$link = @mysql_connect($server, $user, $password, FALSE, $client_flags);

Nachdem die Fehlermeldungen von mysql_connect() durch
Code: Select all
$link = mysql_connect($server, $user, $password, FALSE, $client_flags);

nicht mehr unterdrückt werden, erscheint folgende Ausgabe:

Notice: mysql_connect() [function.mysql-connect]: SQL safe mode in effect - ignoring host/user/password information in /home/nonuser/apache/https/robert/administration/phpmyadmin/libraries/dbi/mysql.dbi.lib.php on line 33

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'robert'@'localhost' (using password: NO) in /home/nonuser/apache/https/robert/administration/phpmyadmin/libraries/dbi/mysql.dbi.lib.php on line 33


Laut http://de3.php.net/manual/en/function.mysql-connect.php können leider definitiv keine Benutzer und keine Kennwort angegeben werden.
Statt dessen verwenden PHP als Benutzername den Namen des Benutzers dem der Server-Prozess gehört. Der Prozessbesitzer wird von phpMyAdmin unter Linux durch den Besitzer der Dateien/Verzeichnisse (chown -R besitzername .../phpmyadmin).

Mich würde interessieren, ob es mit XAMPP in Verbindung mit dem Security-Skript möglich ist bzw. ob das Security-Skript überhaupt den safe_mode aktiviert.

Gruß
Robert
twelve
 
Posts: 12
Joined: 15. February 2006 19:32

Postby Wiedmann » 10. May 2007 17:45

Es liegt wie vermutet am safe_mode von PHP.

Jein, sondern am:
twelve wrote:SQL safe mode in effect

Stellt sich natürlich die Frage, warum den ("sql.safe_mode") überhaupt jemand aktivieren sollte...

(Einen "safe_mode" von PHP gibt es auch, ist aber unabhängig davon.)
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby twelve » 10. May 2007 18:07

Danke Wiedmann.

Ich hatte ein altes Bash-Skript nach der Neuinstallation verwendet. Darin kam der Befehl
Code: Select all
sed -i "s/safe_mode = Off/safe_mode = On/"
vor, der natürlich auch "sql.safe_mode = Off" geändert hat. Also entweder
Code: Select all
sed -i "s/^safe_mode = Off/safe_mode = On/"

verwenden oder gleich md5sum in Verbindung mit diff & patch.

Auf jeden Fall danke für eure Hilfe.

Gruß Robert
twelve
 
Posts: 12
Joined: 15. February 2006 19:32


Return to phpMyAdmin

Who is online

Users browsing this forum: No registered users and 9 guests