Passwörter von neuen Usern gehen nicht (MySql)

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

  • Passwörter von neuen Usern gehen nicht (MySql)

    Hallo Leute,

    gestern hab' ich mir die aktuelle Version 1.4.15 von xampp installiert und bin total begeistert! :-)

    Jedoch häng' ich nun schon seit einiger Zeit an einem eigenartigen Problem: :-(

    Wenn ich mit phpMyAdmin einen neuen User anlege und danach per PHP-Skript versuche, eine Datenbankabfrage durchzuführen, dann funktioniert alles bestens.

    Sobald ich jedoch die Funktion "Benutzertabellen neu laden" ausführe, dann erhalte ich die Fehlermeldung:

    "Warning: mysql_connect(): Access denied for user 'lt-intranet'@'localhost' (using password: YES) in..."

    Die einzige Möglichkeit, per PHP auf die Datenbank zuzugreifen ist mit einem User ohne Passwort.

    Bestimmt hab' ich etwas übersehen oder einen grundsätzlichen Fehler gemacht, oder?

    Vielen Dank schonmal für die Hilfe!

    Roland

  • #2
    Die einzige Möglichkeit, per PHP auf die Datenbank zuzugreifen ist mit einem User ohne Passwort.
    nein.

    aber ich habe nicht wirklich verstanden, wo es hängt - dein php-script kann nicht auf mysql zugreifen? überprüfe die zugangsdaten.

    Kommentar


    • #3
      Mein Skript kann momentan nicht auf die Datenbank zugreifen obwohl User und Passwort richtig sind.

      Also setze ich unter Hilfe von phpMyAdmin das Paswort des Users neu und bestätige mit OK.

      Ab sofort kann das Script zugreifen. Kein Problem.

      Nun führe ich unter phpMyAdmin die Funktion "Benutzertabellen neu laden" durch. Und siehe da. Es ist kein Zugriff per Script mehr möglich. Das gleiche passiert auch dann, wenn Sql neu gestartet wird.

      Was tun?


      Gruß

      Roland

      Kommentar


      • #4
        Das liegt wohl am geänderten Codierungs-Format der MySQL 4.1 ... http://dev.mysql.com/doc/mysql/en/ap...sword-use.html bzw. http://dev.mysql.com/doc/mysql/en/password-hashing.html
        Zuletzt geändert von goth; 31.08.2005, 17:54.
        carpe noctem

        [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
        [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

        Kommentar


        • #5
          Original geschrieben von goth
          Das liegt wohl am geänderten Codierungs-Format der MySQL 4.1 ... http://dev.mysql.com/doc/mysql/en/ap...sword-use.html bzw. http://dev.mysql.com/doc/mysql/en/password-hashing.html
          nicht nur wohl, sondern es liegt daran...
          du musst die OLD_PASSWORD-Funktion zum Setzen des Passwortes nutzen, aber du musst mit PHP dann auch die alten Client Bibliotheken nutzen, ansonsten gibt's auch wieder nen Fehler

          Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

          bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
          Wie man Fragen richtig stellt

          Kommentar


          • #6
            Ja ... alternativ könnte er aber auch php nochmal gegen die neuen Bibiliotheken bauen ... sollte auch gehen ...
            carpe noctem

            [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
            [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

            Kommentar


            • #7
              Was ist nicht ganz verstehe

              Vielen Dank für die Antworten!

              Was ich nicht ganz verstehe:

              Ich hatte zuvor bereits Apache und MySQL installiert. Doch bevor ich XAMPP installiert habe, wurde beides komplett deinstalliert. Außerdem wurden alle User (außer root) mit phpMyAdmin neu angelegt. Wie kann es also sein, dass es dann Probleme mit dem Passwort gibt?

              Vielleicht hab' ich ja das Prinzip nocht nicht verstanden?

              Gruß

              Roland

              Kommentar


              • #8
                also, von MySQL Version 4 auf 4.1 wurde die Passwortverschlüsselung geändert, d.h. "Sonne" ergibt nicht mehr "XY" sondern "ABC" (was weiß ich)
                Wenn du jetzt normal einen User über phpMyAdmin kreirst, wird PASSWORD() benutzt, d.h. es kommt "ABC" raus. PHP ist gegen die alten Client-Bibliotheken gelinkt, d.h. es verwendet OLD_PASSWORD(), da kommt dann "XY" aus, und "XY" ist nunmal nicht gleich "ABC"

                Damit das funktioniert, musst du entweder PHP mit den neuen Client-Bilbiotheken neu kompilieren (was du wahrscheinlich nicht tun möchtest, weil dann nur noch die mysqli_*-Funktionen funktionieren), oder du setzt mit phpMyAdmin explizit das Password mit der alten OLD_PASSWORD()-Funktion.

                D.h. du gehst in die Datenbank "mysql", dort in "users", pickst dir den entsprechenden Datensatz (den User, von dem du das Passwort ändern willst), gehst auf editieren, dann tippst du bei password dein Passwort rechts in das Textfeld ein und drückst auf speichern. Dann steht da ein UPDATE_Query. Den kopierst du, gehst in die SQL-Konsole von phpMyAdmin und da steht da irgendwo sowas wie
                Code:
                UPDATE users SET password = 'deinpassword' something more
                und dann musst du das
                Code:
                password = 'deinpassword'
                nach
                Code:
                password = OLD_PASSWORD('deinpassword')
                umändern und den gesamten Query erneut ausführen (man kann leider die Funktion nicht direkt in phpMyAdmin auswählen...warum auch immer -.-)

                Das du das nicht mit dem User machen solltest, mit dem du grade eingeloggt bist, ist klar, immerhin änderst du zwischenzeitlich den Hash des Passwortes auf irgendwas, von dem du nicht weißt wie das Passwort lautet!

                Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                Wie man Fragen richtig stellt

                Kommentar


                • #9
                  Oder den Server mit
                  Code:
                  --old-passwords
                  starten oder eben dieses in die verwendete Konfigurationsdatei schreiben schreiben
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #10
                    Was allerdings nur war bringt wenn entweder die Kennworte noch nicht geändert ... oder alle Kennworte mit OLD_PASSWORD() neu gesetzt wurden ...
                    carpe noctem

                    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                    Kommentar


                    • #11
                      Falls alles obige ned funktionieren sollte...

                      Einfach den PhpMyAdmin ordner neu installieren (du findest bestimmt ne 'single' version davon im netz), danach einfach die config.inc.php anpassen (mysql user, password) und fertig.

                      So hats zumindest mal bei mir funktioniert...
                      (Auswirkung auf localhost, pma ging tadellos! -> danach beides fehlerfrei)
                      C = Constant
                      A = And
                      N = Neverending
                      I = Improvement

                      Kommentar


                      • #12
                        OLD_PASSWORD() ist die Lösung

                        Hallo Leute,

                        ich hab' eben die Lösung mit OLD_PASSWORD() versucht und es funktioniert! :-)

                        Vielen Dank für die Hilfe!

                        Gruß

                        Roland

                        Kommentar

                        Lädt...
                        X