Ankündigung

Einklappen
Keine Ankündigung bisher.

Zugriff mit PDO auf Datenbank verweigert

Einklappen

Neue Werbung 2019

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

  • Zugriff mit PDO auf Datenbank verweigert

    Hallo Ihr,

    ich kann auf die MySQL-Datenbank meines Pi via phpMyAdmin von einem anderen Rechner aus zugreifen. Mit dem gleichen Benutzer (der phpmyadmin heißt) versuche ich in einem PHP-Skript mit

    conn=new PDO("mysql:host=raspi;dbname=xxxx", "phpmyadmin", "yyyy");

    ebenfalls remote zuzugreifen und erhalte bei dieser Anweisung die Meldung

    Fatal error: Uncaught PDOException: SQLSTATE[HY000] [2002] Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte.

    Mit host=localhost funktioniert es auf dem Pi. Was muss ich einstellen, um den remote Zugriff zuzulassen. Nebenbei: In der Datei /etc/mysql/my.cnf existiert kein Eintrag bind_address.

    maksimilian


  • #2
    Hi!
    Probier es mit MySQLi!

    PHP-Code:
    $mysqli = new mysqli("host""benutzername""passwort""datenbank"); 
    PDO nimmt man normalerweise nicht mehr.

    ___________
    MfG

    Simuletsplay

    Kommentar


    • #3
      Zitat von Simuletsplay Beitrag anzeigen
      PDO nimmt man normalerweise nicht mehr.
      Ähm, nein????

      Kommentar


      • #4
        Ähm, nein????
        Ich kenne das zumindest so, dass man PDO nicht mehr so häufig nimmt... Aber ich lass mich gerne eines besseren belehren!

        ________________
        MfG

        Simuletsplay

        Kommentar


        • #5
          Mit
          Code:
          SELECT host, user, password FROM mysql.user
          in phpMyAdmin siehst du die Zugangsdaten.

          Kommentar


          • #6
            Zitat von Simuletsplay Beitrag anzeigen
            Ich kenne das zumindest so, dass man PDO nicht mehr so häufig nimmt... Aber ich lass mich gerne eines besseren belehren!

            ________________
            MfG

            Simuletsplay
            Ich weiss ja nicht von wem du diese Info hast, aber das ist totaler Schwachsinn!
            Grundsätzlich ist es empfehlenswerter PDO anstelle von mysqli_* zu nutzen.

            Kommentar


            • #7
              maksimilian Probier es mal mit der IP-Addresse deines Raspi als Host anstelle des Names.

              Kommentar


              • #8
                Per Default lässt Mysql nur Zugriffe von Localhost zu.

                Such in der my.cnf-Datei nach "bind-address" und gib dort "*" oder 0.0.0.0 an.
                Schau dann noch sicherheitshalber ob du wo ein "skip-networking" findest und entferne die Zeile gegebenenfalls.

                Evlt. musst du auch noch die Benuzterrechte in Mysql anpassen und dort für Host entweder "%" oder die IP, von der aus du zugreifen willst, verwenden.

                Grüße.

                Kommentar


                • #9
                  Zitat von CPCoder Beitrag anzeigen

                  Ich weiss ja nicht von wem du diese Info hast, aber das ist totaler Schwachsinn!
                  Grundsätzlich ist es empfehlenswerter PDO anstelle von mysqli_* zu nutzen.
                  Ok danke.... Werd' ich mir merken....

                  _____________
                  MfG

                  Simuletsplay

                  Kommentar


                  • #10
                    Grundsätzlich ist es empfehlenswerter PDO anstelle von mysqli_* zu nutzen.
                    Das würde ich so generalisiert nicht stehen lassen. Es kommt darauf an, ob Du vielleicht ein paar mehr spezielle Dinge mit mysql vorhast.

                    Kommentar


                    • #11
                      @ php1704 #8

                      Leider helfen alle 4 Maßnahmen nicht. Merkwürdig auch: wenn ich beim raspi in der DB im user phpmyadmin als Host die IP des Rechners eintrage, von welchem aus die Verbindung zum raspi aufgenommen werden soll, wird auch der Login vom phpMyAdmin abgewiesen. Das auch, wenn kein Eintrag bind-address in my.cnf vorhanden ist. Jetzt habe ich keinen Zugriff mehr auf die Datenbank ! Wie kann ich mir denn da helfen ?

                      maksimilian

                      Kommentar


                      • #12
                        Merkwürdig auch: wenn ich beim raspi in der DB im user phpmyadmin als Host die IP des Rechners eintrage, von welchem aus die Verbindung zum raspi aufgenommen werden soll, wird auch der Login vom phpMyAdmin abgewiesen
                        Das sind 2 verschiedene Benutzer:
                        dbuser@localhost ist ein anderer als dbuser@192.168.0.1

                        phpmyadmin wird sich über localhost verbinden. Du hättest den User nicht einfach ändern sollen sondern einen 2. für den externen Zugriff anlegen.
                        Wenn du das jetzt nicht mit dem root user gemacht hast, kannst du dich einfach mit dem root einloggen und das wieder anpassen.
                        Ansonsten musst du das root-Passwort zurücksetzen. Wie das geht siehst du hier: https://dev.mysql.com/doc/refman/8.0...rmissions.html

                        Grüße.

                        Kommentar


                        • #13
                          Problem gelöst: zweiten Benutzer angelegt mit Host=% und bind-address=0.0.0.0

                          maksimilian

                          Kommentar

                          Lädt...
                          X