Login Problem bei phpMyAdmin: #1045 - Access denied for user 'root'@'localhost'

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Login Problem bei phpMyAdmin: #1045 - Access denied for user 'root'@'localhost'

    Hallo,
    ich bin neu hier und ich hoffe ihr könnt mir helfen.


    Kurz und Knapp: Das eigentliche Problem:
    ============================

    Momentan erhalte ich beim Login in phpMyAdmin folgende Fehlermeldung:
    Fehler
    #1045 - Access denied for user 'root'@'localhost' (using password: NO)
    Der Login in die mysql Datenbank von einem Terminalclient aus funktioniert aber, das Problem liegt also irgendwo bei phpMyAdmin.



    Nun die Ausführliche Erklärung und wie es zu dem Fehler kam:
    =========================================================

    Erstmal habe ich bei meinem Ubuntu 7.10 System php5, zusammen
    mit phpmyadmin, mysql usw. über das repository von Ubuntu
    installiert und danach phpmyadmin erstmal ausgiebig getestet.

    Das hat damals dann auch alles auf Anhieb funktioniert, auch der Login in phpMyAdmin, nur gingen mir die Sicherheitseinstellungen nicht weit genug.


    Also habe ich erstmal dieses Tutorial auf heise.de zur Absicherung von php5 durchgelesen:
    Serverfrieden - PHP-Anwendungen individuell absichern
    http://www.heise.de/security/artikel/96564


    Und entsprechende Änderungen in meiner Konfiguration vorgenommen.
    Die Änderungen die ich danach getätigt habe, betreffen folgende Optionen in /etc/php5/apache2/php.ini und haben jetzt auch folgende Werte, alles andere blieb in dieser Datei im alten Zustand, wurde also nicht verändert:

    /etc/php5/apache2/php.ini
    safe_mode = on
    open_basedir = /var/www/:/usr/share/phpmyadmin:/etc/phpmyadmin/
    disable_functions = exec,system,passthru,shell_exec,popen,escapeshellcmd,proc_open,proc_nice,ini_restore
    sql.safe_mode = On
    Das war zu Beginn alles auf Off oder leer.

    Laut der Sicherheitsanleitung von Heise.de habe ich diese also alle auf diese oben erwähnten Werte geändert und open_basedir so angepaßt, damit der Login Screen von phpmyadmin
    wieder ohne PHP Fehlermeldung korrekt dargestellt wurde, ohne diese open_basedir Änderung gab es nämlich ein paar php Fehlermeldungen.

    Auch mußte ich in /etc/phpmyadmin/config.inc.php
    folgenden Eintrag setzen:
    $cfg['blowfish_secret'] = '********';
    Weil sich sonst phpmyadmin über eine Blowfish Fehlermeldung beschwert hat.


    Desweiteren habe ich noch im Verzeichnis für den Webspace
    von Apache:
    Die Datei .htaccess mit diesen Optionen eingetragen:
    php_flag register_globals off
    php_flag display_errors off
    Mehr steht da nicht drin.


    Das war bis jetzt alles, was ich bis jetzt an diesem XAMPP System beginnend von der funktionierenden Ubuntu XAMPP Installation bis jetzt verändert habe.
    Also im Prinzip nur die Sicherheitseinstellungen die im heise.de Artikel erwähnt werden.

    Doch jetzt habe ich die schon oben am Anfang genannte Fehlermeldung für die ich selber leider keine Lösung weiß, den wie schon gesagt, an mysql liegt es nicht, denn über das Terminal Programm mysql komme ich in die Datenbank problemlos rein.
    Ein Login in die MySQL Datenbank mit dieser Kommandozeile funktioniert also:
    mysql -u root -p
    Leider habe ich von PHP und myPhpAdmin so gut wie noch gar keine Ahnung und weiß daher auch nicht weiter.

    Hier nochmal die Fehlermeldung die ich momentan erhalte:
    Fehler
    #1045 - Access denied for user 'root'@'localhost' (using password: NO)
    Und wie schon gesagt, über ein Terminalprogramm kann ich mich in die MySQL Datenbank einloggen, nur halt nicht über phpMyAdmin.




    Falls das hier etwas hilft, hier ist meine config.inc.php Datei,
    falls ihr noch weitere Logs, Dateiinfos usw. braucht, dann kann ich die noch nachträglich posten.:

    PHP-Code:
    <?php
    /**
     * Debian local configuration file
     *
     * This file overrides the settings made by phpMyAdmin interactive setup
     * utility.
     *
     * For example configuration see /usr/share/doc/phpmyadmin/examples/config.default.php.gz
     *
     * NOTE: do not add security sensitive data to this file (like passwords)
     * unless you really know what you're doing. If you do, any user that can
     * run PHP or CGI on your webserver will be able to read them. If you still
     * want to do this, make sure to properly secure the access to this file
     * (also on the filesystem level).
     */

    /**
     * Server(s) configuration
     */
    $i 0;
    // The $cfg['Servers'] array starts with $cfg['Servers'][1].  Do not use $cfg['Servers'][0].
    // You can disable a server config entry by setting host to ''.
    $i++;

    /* Authentication type */
    //$cfg['Servers'][$i]['auth_type'] = 'cookie';
    /* Server parameters */
    //$cfg['Servers'][$i]['host'] = 'localhost';
    //$cfg['Servers'][$i]['connect_type'] = 'tcp';
    //$cfg['Servers'][$i]['compress'] = false;
    /* Select mysqli if your server has it */
    //$cfg['Servers'][$i]['extension'] = 'mysql';
    /* Optional: User for advanced features */
    // $cfg['Servers'][$i]['controluser'] = 'pma';
    // $cfg['Servers'][$i]['controlpass'] = 'pmapass';
    /* Optional: Advanced phpMyAdmin features */
    // $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
    // $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
    // $cfg['Servers'][$i]['relation'] = 'pma_relation';
    // $cfg['Servers'][$i]['table_info'] = 'pma_table_info';
    // $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
    // $cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
    // $cfg['Servers'][$i]['column_info'] = 'pma_column_info';
    // $cfg['Servers'][$i]['history'] = 'pma_history';
    // $cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';

    /*
     * End of servers configuration
     */

    /*
     * Directories for saving/loading files from server
     */
    $cfg['UploadDir'] = '';
    $cfg['SaveDir'] = '';


    $cfg['blowfish_secret'] = '********';
    Auch habe ich noch eine Frage, ich mußte diesen letzten blowfish_secret Eintrag ganz am Schluß dieser Datei ja selber eintragen um einen Fehler von phpMyAdmin loszuwerden, nur
    steht in der gleichen Datei ja folgendes:

    NOTE: do not add security sensitive data to this file (like passwords)
    Wenn ich aber diesen blowfish_secret Eintrag entferne, dann erhalte ich in phpMyAdmin wieder einen Fehler, daß ein blowfish_secret Eintrag fehlt.
    Zuletzt geändert von Cordess; 13.11.2007, 07:43.

  • #2
    irgendwo in der config von phpMyAdmin steht mal, welcher Nutzer (hier "root") eingelogt werden soll. Darunter steht das zugehörige Passwort (in deinem Fall ist es leer). Wenn du da was einträgst, kannst du dich auch wieder zur DB connecten.
    it's not a bug,
    it's a feature!

    Kommentar


    • #3
      heise schreibt nicht nur sinnvolles! Ließ dir hier mal das Manual zu safemode durch. Vor allem:
      Safe Mode ist der Versuch, Sicherheitsprobleme bei gemeinsam genutzten Servern zu lösen. Bezogen auf die Systemarchitektur, ist es der falsche Ansatz, diese Probleme innerhalb der PHP Schicht lösen zu wollen.
      Hier ist nochmal das Manual zu sql.safemode!

      Code:
      php_flag display_errors off
      ist natürlich nur auf einem Live-System sinnvoll, hat auf einer Entwicklungsmaschine aber nichts verloren!!

      Kommentar


      • #4
        Original geschrieben von XGremliN
        irgendwo in der config von phpMyAdmin steht mal, welcher Nutzer (hier "root") eingelogt werden soll. Darunter steht das zugehörige Passwort (in deinem Fall ist es leer). Wenn du da was einträgst, kannst du dich auch wieder zur DB connecten.
        Meinst du die Option:
        $cfg['Servers'][$i]['controluser']

        Sonst finde ich nämlich nirgends in der Config einen Eintrag für Nutzer Logins, root gibt es auch nicht.


        Auch würde ich gerne wissen, wenn ich da ein Passwort eintrage,
        wie sieht es dann damit aus:
        NOTE: do not add security sensitive data to this file (like passwords)
        Da steht, daß in dieser Datei gar keine Passwörter stehen dürfen.
        Was ist denn nun richtig?

        Vor den Sicherheitseinstellungen lief es auch ohne Passwort oder blowfish_secret Eintrag in dieser Configdatei.
        Kann man das nicht auch wieder so hinkriegen, ohne aber die Sicherheitseinstellungen zurückzunehmen?
        Ich bin verwirrt.



        Original geschrieben von PHP-Desaster
        heise schreibt nicht nur sinnvolles! Ließ dir hier mal das Manual zu safemode durch. Vor allem:
        Hier ist nochmal das Manual zu sql.safemode!

        Werde ich machen, thx.



        Code:
        php_flag display_errors off
        ist natürlich nur auf einem Live-System sinnvoll, hat auf einer Entwicklungsmaschine aber nichts verloren!!
        Das ist mir schon klar, deswegen steht bei mir display_errors auch auf on.

        Ich habe nur das geändert, was ich oben als "geändert" genannt habe.
        display_errors gehört nicht dazu, das war mir schon klar, daß ich das noch brauchen werde.

        Kommentar


        • #5
          http://www.phpmyadmin.net/documentat...tication_modes

          Kommentar

          Lädt...
          X