Ankündigung

Einklappen
Keine Ankündigung bisher.

mysql_connect verbindet nicht wenn user passwort hat

Einklappen

Neue Werbung 2019

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

  • mysql_connect verbindet nicht wenn user passwort hat

    hi zusammen,

    ich hab ein für euch vermutlich total simples problem, an dem ich aber seit stunden schon verzweifle, folgendes:

    hab einen 4.0.26 mysql-server laufen, auf den ich per php zugreifen kann, aber nur wenn der benutzer über den ich zugreifen will KEIN passwort hat.
    wenn der nutzer ein passwort hat erhalte ich immer folgende fehlermeldung:

    Code:
    Warning: mysql_connect(): Access denied for user: 'testuser4@localhost' (Using password: YES) in /usr/local/apache2/htdocs/test/db_conn_test.php on line 3
    ich habe folgendes einfaches php-testscript:

    Code:
    <?php
    /* Verbindungsaufbau zum Datenbankserver */
    $link = mysql_connect('localhost', 'testuser4', 'testuser4')
       or die('Verbindungsaufbau fehlgeschlagen : ' . mysql_error($link));
    
    mysql_select_db('test', $link)
       or die('Konnte die Datenbank nicht auswählen');
    
    /* SQL Abfrage senden */
    $query = 'SELECT * FROM testtable';
    $result = mysql_query($query, $link) or die('Abfrage fehlgeschlagen : ' . mysql_error($link));
    
    while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    
       foreach ($row as $col_value) {
           echo "\t\t$col_value\n";
       }
    
    }
    
    /* Speicher wieder freigeben */
    mysql_free_result($result);
    
    /* Verbindung schliessen */
    mysql_close($link);
    ?>
    wenn ich jetzt in die user-tabelle einen neuen user eintrage mit:

    Code:
    insert into user values('localhost', 'testuser1', '');
    grant all privileges on test.* to testuser1;
    und rufe mysql_connect so
    Code:
    mysql_connect('localhost', 'testuser1', '') ....
    auf, klappts mit dem zugriff, mache ich aber sowas wie:
    Code:
    insert into user values('localhost', 'testuser2', 'testuser2');
    grant all privileges on test.* to testuser2;
    und rufe mysql_connect so
    Code:
    mysql_connect('localhost', 'testuser2', 'testuser2') ....
    auf kriege ich obige fehlermeldung......((((

    woran liegt denn das?

    habs auch schon so:

    Code:
    insert into user values('localhost', 'testuser2', PASSWORD('testuser2'));
    grant all privileges on test.* to testuser2;
    probiert, klappt auch nicht...........

    wo ist denn hier das problem?

    bin echt dankbar für jede hilfe, ich hab keine ahnung was das problem wenn ich mysql_connect mit passwort aufrufe............

  • #2
    Versuch es mal NUR mit folgender Sache, also ohne den vorhergehenden INSRT:

    GRANT ALL ON datenbank.* TO benutzer@localhost IDENTIFIED BY 'passwort'

    Das INSERT brauchst Du eigentlich nicht, GRANT macht das selbst. Jedenfalls mache ich das so, wenn ich neue Benutzer anlege.

    Kommentar


    • #3
      verdammt!

      vielen dank für den tip, damit geht es!

      nur warum? für mich sieht es so aus, als würde die grant-anweisung genau das gleiche mache wie ich oben gemacht hab, kann mir jemand erklären wo der unterschied liegt?

      danke soweit!

      Kommentar


      • #4
        Hab gerade nicht die Zeit, aber schau doch mal in die mysql Doku rein. Vielleicht wird da das Thema sogar angesprochen.

        ciaoi

        Kommentar

        Lädt...
        X