MySQL: "Zugriff verweigert" für "www-data"?

  • Hey.


    Folgendes: Ich habe einen vServer mit Debian (6.0).
    Ich habe das übliche für den Webserver-Betrieb installiert (apache2, php5, mysql, usw.) und nun ja, klappt alles perfekt, bis auf MySQL.


    Ich kann mit phpmyadmin perfekt drauf zugreifen, Datenbanken erstellen, füllen, usw., doch wenn ich mit PHP zugreifen will, kommt folgende Fehlermeldung (angezeigt durch "or die(mysql_error());" bei "mysql_connect"):


    Code
    Access denied for user 'www-data'@'localhost' (using password: YES)


    Hier der PHP-Code:


    PHP
    $mysqlhostname = 'localhost';
            $mysqlusername = 'BENUTZER';
            $mysqlpassword = 'PASSWORT';
            $mysqldatabase = 'DATENBANK';


    Beutzer, Passwort und Datenbank sind natürlich richtig eingetragen.


    Jemand eine Idee, wie man das regeln kann?
    Wie gesagt, über phpmyadmin klappt alles mit den gleichen Daten perfekt, da kommt nichts mit "www-data".


    Würde mich über jegliche Hilfe freuen!


    Grüße, Gredsoft.

  • Für Mich sieht das nach einem Tippfehler der Login-Daten aus.
    Überprüfe das am besten ein mal mehr.

    Wie schon gesagt, ich habe die Daten mehrfach überprüft - stimmt alles.
    Gleicher Benutzername und gleiches Passwort wie in phpmyadmin verwendet.


    Außerdem steht nirgendwo was in der Konfiguration mit www-data.
    Das ist ja das, was mich so wundert.


    Bei der Version spuckt er folgendes aus:

    Code
    mysql> SELECT VERSION();
    +-------------------+
    | VERSION()         |
    +-------------------+
    | 5.1.66-0+squeeze1 |
    +-------------------+
    1 row in set (0.00 sec)
  • Da kommt leider der gleiche Fehler:

    Code
    Access denied for user 'www-data'@'localhost' (using password: YES)


    Das hier steht im Apache Error-Log (/var/log/apache2/error.log):

    Code
    [Sun May 19 10:59:29 2013] [error] [client x.x.x.x] PHP Warning:  mysql_connect(): Access denied for user 'www-data'@'localhost' (using password: YES) in /var/www/test.php on line 9, referer: http://x.x/test.php


    Verwechslung ist ebenfalls ausgeschlossen:

    PHP
    $mysqlhostname = '127.0.0.1';
            $mysqlusername = 'BENUTZER';
            $mysqlpassword = 'PASSWORT';
            $mysqldatabase = 'DATENBANK';
    
    
            mysql_connect($mysqlhostname, $mysqluser, $mysqlpassword) or die(mysql_error());
    
    
            $connection = mysql_select_db($mysqldatabase);
  • Nachdem ihr das Problem ja nun durch Raten gelöst habt, könnte man ja auch eventuell mal begründen, warum das so ist.


    Gredsoft:
    Du hattest in der Tat einen Schreibfehler in deiner Variable, laut der PHP Dokumentation nimmt php den MySQL Username gleich dem Username, unter dem der PHP Prozess gestartet ist, sofern es nicht anders definiert ist. Insofern ist es immer wichtig die Dokumentation zu den jeweiligen Dingen zu lesen, dann hätte sich das viel schneller lösen lassen.


    Basti!:
    Mehr als raten kannst du aber auch nicht, oder? Die Aussagen sind teilweise komplett falsch, und haben teilweise auch genau garnichts miteinander zu tun. Eventuell eignest du dir ein bisschen Wissen an, bevor du versuchst, anderen zu helfen. Im übrigen wäre es sehr nett, wenn du eine normale Schriftart nutzt, und nicht alles fett schreibst. :)

  • Nachdem ihr das Problem ja nun durch Raten gelöst habt, könnte man ja auch eventuell mal begründen, warum das so ist.


    Gredsoft:
    Du hattest in der Tat einen Schreibfehler in deiner Variable, laut der PHP Dokumentation nimmt php den MySQL Username gleich dem Username, unter dem der PHP Prozess gestartet ist, sofern es nicht anders definiert ist. Insofern ist es immer wichtig die Dokumentation zu den jeweiligen Dingen zu lesen, dann hätte sich das viel schneller lösen lassen.


    Basti!:
    Mehr als raten kannst du aber auch nicht, oder? Die Aussagen sind teilweise komplett falsch, und haben teilweise auch genau garnichts miteinander zu tun. Eventuell eignest du dir ein bisschen Wissen an, bevor du versuchst, anderen zu helfen. Im übrigen wäre es sehr nett, wenn du eine normale Schriftart nutzt, und nicht alles fett schreibst. :)

    Ich kann das nur verlieren, egal was Ich jetzt hier sage Du hast Dir deine Meihnung über mich gebildet und wirst Sie warscheinlich auch nicht ändern.
    In so fern beherzige Ich deinen Rat und helfen nur noch dann wenn Ich bei solchen Infos Punkt genau antworten kann.
    Mit der Schrift tut mir leid, war mir nicht klar das es eine Reglung dafür gibt. Muss noch mal die AGB's durch lesen :)

    Dieser Beitrag wurde bereits 1337 mal editiert, zuletzt von »Syn0x« (Jetzt, 13:37)

  • Die Antwort war nicht richtig, weil Ich geraten habe, die Antwort war richtig, weil Ich wuste das es so ist.
    Was hat die Font mit Menschenverstand zu tun?
    Ich möchte das ganze auch nicht mit Dir in irgendwelchen Post diskutieren, Wir können das auch gerne via PM vertiefen.

    Dieser Beitrag wurde bereits 1337 mal editiert, zuletzt von »Syn0x« (Jetzt, 13:37)

  • Die Antwort war nicht richtig, weil Ich geraten habe, die Antwort war richtig, weil Ich wuste das es so ist.


    Ich redete auch von den Posts davor. Bevor man Aussagen anstellt, wie "probiere es mal mit ...", sollte man sich zuerst über die Umgebung des TE's informieren, und nach ein bisschen mehr Infos fragen. Sofern die Infos nicht ausreichen, oder man über das Thema nicht ausreichend bescheid weiß, stellt man keine Mutmaßung an, sondern hält sich einfach raus. Denn, wie bereits gesagt, kann sowas sehr fatal enden.

  • Das ist ein Witz oder?
    Du wist mir jetzt nicht versuchen zu erzählen das 127.0.0.1 was komplett anderes als localhost ist und fatale Ausmaße haben kann?
    Dir ist schon bewust das localhost und 127.0.0.1 beides das selbe ist?..Wenn der benutzer auf localhost nicht eingetragen ist, kann Er darüber auch keine Verbindung herstellen.
    Wenn dagegen aber die besagte IP eingetragen ist, ist es möglich eine Verbindung her zu stellen.

    Dieser Beitrag wurde bereits 1337 mal editiert, zuletzt von »Syn0x« (Jetzt, 13:37)

  • Du wist mir jetzt nicht versuchen zu erzählen das 127.0.0.1 was komplett anderes als localhost ist und fatale Ausmaße haben kann?


    Nein, das nicht. Ich sprach von allgemein. :)


    Dir ist schon bewust das localhost und 127.0.0.1 beides das selbe ist?


    Nein, ist es nicht. 127.0.0.1 ist eine IP, localhost ist ein Domainname, welcher auf 127.0.0.1 auflöst, sofern alles korrekt ist.


    Ich wiederhole nochmal: Informiere dich über das Zeug ....

  • Du hast aber den Post davor angesprochen, also bin Ich nicht davon ausgegangen das Du von Allgemeinheit sprichst.


    localhost und 127.0.0.1 sind beides Werte die nur local erreicht werden können und beide Werte können nicht's "kaput" machen wenn man das so oder so verwendet.
    Und ob nun Domain oder nicht, es kommt aufs Selbe bei raus.

    Dieser Beitrag wurde bereits 1337 mal editiert, zuletzt von »Syn0x« (Jetzt, 13:37)