[MySQL 4.0] Benutzerechte einrichten

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

  • [MySQL 4.0] Benutzerechte einrichten

    Hallo,

    meine bisherigen Datenbankzugriffe fanden als root statt. Das will ich nun
    gerne ändern und habe mir dafür einen neuen User mit Namen "sjokiel"
    angelegt. Das ist mit Hilfe von dem Tool "phpmyAdmin" passiert. Ein Passwort
    existiert noch nicht!

    Der neue User hat nun folgende Privilegien:

    Select_priv = yes
    Insert_priv = yes
    Update_priv = yes

    Alles andere ist auf "No".

    Damit sollte er nun selektieren, hinzufügen und löschen können. Allerdings
    klappt das noch nicht.

    Bisher erfolgte mein Zugriff zur Datenbank in meiner PHP-Datei so:

    PHP-Code:
    $link mysql_pconnect("pcsj2","root",""); 
    Die dann folgende Select-Anweisung funzte prima. Gehe ich jedoch nun mit

    PHP-Code:
    $link mysql_pconnect("pcsj2","sjokiel",""); 
    kommt es zu folgendem Fehler:

    Warning: mysql_numrows(): supplied argument is not a valid MySQL
    result resource in C:\Programme\Apache Group\Apache2
    \htdocs\reisen\kundensuche.php on line 11


    Hier der fragliche Code-Fetzen, welcher oben angemeckert wird. Es sind die
    Zeilen 6-11, welche direkt nach dem obigen Verbindungsaufbau folgen:

    PHP-Code:
    mysql_select_db("reisen",$link);

    $query "select * from tbl_kunden where Nachname like '$nname%' and Wohnort like '$ort%'";
    $result mysql_query($query,$link);

    $num mysql_numrows($result); 
    Somit besteht offenbar noch ein Rechteproblem. Setze ich ein Passwort,
    dann gibt es sogar die Fehlermeldung "Access denied".

    Habe schon im Manual nachgelesen, aber nichts gefunden.

    Viele Grüße
    Sascha

  • #2
    1. *VERSCHIEB* zu config

    2. hast du nur den user angelegt, oder diesem auch explizit gesagt, dass er eine der DBs nutzen darf?
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Also wenn ich mir die Rechte für den betreffende Datenbank anschaue,
      dann ist mein User "sjokiel" dort gelistet einmal global mit den drei
      Grundrechen SELECT, INSERT und UPDATE sowie einmal datenbankspezifisch.
      GRANT steht auf Nein.

      Somit sind die Rechte vorhanden.

      Gruß
      Sascha

      Kommentar


      • #4
        wie hast du den benutzer angelegt?

        mach das mal so.

        Code:
        [b]GRANT SELECT,INSERT,UPDATE[/b],DELETE,CREATE,DROP,ALTER
        [b]    ON datenbankname.*
            TO sjokiel@localhost
            IDENTIFIED BY 'password_oder_leer_lassen';[/b]
        das fett geschriebene ist wichtig für dich. das nicht-fette ist optinal aber auch interessant/wichtig.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          ausserdem mit mysql_pconnect darf man dich schon an die Wand stellen

          Kommentar


          • #6
            Die Antwort von Server lautet:

            #1133 - Can't find any matching row in the user table

            obwohl der User angelegt ist

            Gruß
            Sascha

            Kommentar


            • #7
              Original geschrieben von asp2php
              ausserdem mit mysql_pconnect darf man dich schon an die Wand stellen
              Hm, ich habe da in so ein schlaues Bucht geschaut...

              Kommentar


              • #8
                Original geschrieben von Sascha1974
                Die Antwort von Server lautet:
                #1133 - Can't find any matching row in the user table
                was genau hast du an die db geschickt. poste das mal.

                Original geschrieben von Sascha1974
                obwohl der User angelegt ist
                der user wird eigentlich durch die o.g. query erst angelegt.
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  Original geschrieben von Sascha1974
                  Hm, ich habe da in so ein schlaues Bucht geschaut...
                  Tja normalerweise nimmt man dafür ein Buch. Ich habe jedoch bisher nicht gewusst, dass man auch eine Bucht nehmen kann, kein Wunder dass sowas dann rauskommt

                  Kommentar


                  • #10
                    Mein Fehler war wohl, dass der User "sjokiel" schon existierte, als ich die
                    Query habe gestartet. Habe nun den User gelöscht und dann nochmal
                    die Query wie folgt ausgeführt:

                    GRANT SELECT , INSERT , UPDATE , DELETE
                    ON reisen. *
                    TO sjokiel@localhost
                    IDENTIFIED BY 'geheim'
                    Das wurde nun erfolgreich ausgeführt. Auch die Rechte sind gesetzt.
                    Trotzdem bekomme ich beim Zugriff immer noch folgende Fehlermeldung:

                    Warning: mysql_connect(): Access denied for user:
                    'sjokiel@pcsj2.hq.unicum.com' (Using password: YES) in
                    C:\Programme\Apache Group\Apache2\htdocs\reisen\kundensuche.php on line 4


                    wobei Zeile 4 nun so aussieht:

                    PHP-Code:
                    $link mysql_connect("pcsj2","sjokiel","geheim"); 
                    Gruß
                    Sascha

                    Kommentar


                    • #11
                      hast du noch ein FLUSH PRIVILEGES hinterher geschubst?
                      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                      Kommentar


                      • #12
                        Original geschrieben von asp2php
                        Tja normalerweise nimmt man dafür ein Buch. Ich habe jedoch bisher nicht gewusst, dass man auch eine Bucht nehmen kann, kein Wunder dass sowas dann rauskommt
                        Naja, und im Buch stehts leider auch so drin.
                        PHP 4 von Thomas Theis

                        Kommentar


                        • #13
                          ich machs mir jetzt mal einfach, da ich nicht immer hin und her posten will.

                          lies mal hier ....
                          http://dev.mysql.com/doc/mysql/en/Adding_users.html
                          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                          Kommentar


                          • #14
                            Original geschrieben von Abraxax
                            lies mal hier ....
                            http://dev.mysql.com/doc/mysql/en/Adding_users.html
                            Auf dieser Seite war ich schon und ein FLUSH PRIVILEGES habe ich durchgeführt. Das ist ja der Grund, warum ich auf dem Schlauch stehe. Das Grundprinzip wie das mit den Usern geht, habe ich (hoffentlich) soweit verstanden.

                            Gruß
                            Sascha

                            Kommentar


                            • #15
                              schon komisch. lege mal einen neues user (anderer name) an. und teste das damit noch einmal.

                              wenn das auch nicht klappt, tippe ich darauf, dass deine db böse auf dich ist.
                              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                              Kommentar

                              Lädt...
                              X