Ankündigung

Einklappen
Keine Ankündigung bisher.

Verbindung zu einer Datenbank im LAN

Einklappen

Neue Werbung 2019

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

  • Verbindung zu einer Datenbank im LAN

    Also ich versuche schon seit einiger Zeit eine Verbindung zu einer Datenbank herzustellen, die nicht auf dem "localhost" liegt, sondern auf einem anderem Rechner im Lan.
    Kernstück des LAN ist ein Rooter, der mit virtuellen Servern div. Ports frei gibt und Rechnern im LAN zuweist. Das funktioniert auch problemlos. Der Rooter mit der dynamischen IP ist über eine DynDNS-URL fest im Web erreichbar.

    Wenn ich mein Script local laufen lassen, bekomme ich eine Verbindung zur Datenbank und das Script arbeitet so wie es auch soll.
    Wenn ich das Script nun ins Web schiebe und mit der lokalen Datenbank eine Verbindung aufbauen möchte, scheiter ich.
    Die DynDNS-URL wird sauber aufgelöst und in der Fehlermeldung steht nun nicht mehr die URL sondern die aktuelle dynamische IP.

    Habt Ihr eine Ahnung was ich falsch mache ? Muss doch irgendwie möglich sein, auf eine Datenbank zuzugreifen wenn es nicht "localhost" heißt...

    Danke im Vorfeld für Eure Antworten.


  • #2
    Die Fehlermeldung im Wortlaut?

    Kommentar


    • #3
      naja, die fehlermeldung ist mir schon klar, verbindungsproblem:

      Code:
      Warning: mysql_pconnect(): Access denied for user: 'root@218.203.284.261' (Using password: YES) in /home/db.php on line 43
      
      Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /home/db.php on line 44
      
      Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /home/db.php on line 58
      
      Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/db.php on line 59
      status=err
      SQL error=1045
      SQL error string=Access denied for user: 'root@218.203.284.261' (Using password: YES)
      die verbindungsdaten stimmen aber, wenn ich das nämlich lokal laufen lasse funktioniert es ja ... das problem ist nur, dass die datenbank auf einem anderem rechner liegt wie im ersten posting beschrieben...
      nun weiß ich nicht, obs vielleicht noch mehr zu beachten ist weil das eben so ist.

      Kommentar


      • #4
        ist dein root auch fuer remote-Zugriffe zugelassen?
        Wie lautet die adäquate Antwort auf "ihr benehmt euch wie kleine Kinder!" ?

        "Er hat Angefangen!"

        Kommentar


        • #5
          also nicht, dass ich wüßte, ging vorher auch, nur da wurde nicht von mir sondern von jemand anderes auf meine datenbank zugegriffen.

          kann ja sein, dass man bei den zugangsdaten noch irgend einen zusatz machen muss...

          Kommentar


          • #6
            http://dev.mysql.com/doc/mysql/en/index.html
            Access denied als Suchbegriff eingeben.
            Artikel "Causes of Access denied Errors" lesen.
            Fehler beheben.

            Es kann so einfach sein.

            Kommentar


            • #7
              hmmm, merkwürdiger weise benutze ich die richtigen verbindungsdaten.
              mir ist jedoch aufgefallen, dass, egal was ich beim "host" eingeben an angaben, es erscheint immer die IP des Webservers auf dem das Script läuft.

              Ich hab jetzt weiter im Web ne Info gefunden, dass es sein kann, dass der Webserver keinen zugriff auf externe Datenbanken erlauben könnte:

              How about your webhost.. Do they allow remote/outside MySQL(port 3306) connections?
              Da ich hierzu noch keine Infos hab, muss ich wohl erstmal die Antwort auf mein Trouble-Ticket abwarten...

              Kommentar


              • #8
                "Can't connect to MySQL server on 'xxx.xxx.xxx.xxx' (10060)"
                ist was anderes als
                "Access denied for user: 'root@218.203.284.261'"

                "Access denied" wird in der Doku beschrieben. Da erfährst Du auch, warum Du bei mysql_connect an den Benutzerdaten rumfrickeln kannst, wie Du willst, ohne dass es Einfluss auf das "@218.203.284.261" hat. Es liegt also nahe, dass Du hast es Dir nicht durchgelesen hast.
                Ich habe Dich nun schon direkt auf die richtige Seite geschubst. Wenn Dir Doku lesen zu anstrengend ist, bezahl jemanden, der es Dir richtet (sofern überhaupt möglich).

                Kommentar


                • #9
                  Naja, dass ich das nicht gelesen hab stimmt nicht. Um es besser zu verstehen weil mein technisches English keine 1 verdienst hab ich mir die deutsche Seite angetan:
                  http://dev.mysql.com/doc/mysql/de/access-denied.html und http://dev.mysql.com/doc/mysql/de/dns.html

                  Das Problem ist nur, dass es nicht mein Server ist, ich lediglich einen Reseller habe...
                  Kann also diese ganzen Einstellungen nur schwer nachprüfen, weil kein Zugang zur Server-Root für mich da ist.

                  Ich hab parallel auch in anderen Foren nach diesem Problem gesucht, und dort war eben auch dieses Problem mit "remote/outside MySQL(port 3306) connections" beschrieben.

                  So wie ich die Fehlerbeschreibung verstanden habe, kann man das nur in der Config des Servers beheben. Von daher muss ich erstmal abwarten was passiert.

                  Zitat von Bruchpilot
                  "Access denied" wird in der Doku beschrieben. Da erfährst Du auch, warum Du bei mysql_connect an den Benutzerdaten rumfrickeln kannst, wie Du willst, ohne dass es Einfluss auf das "@218.203.284.261" hat. Es liegt also nahe, dass Du hast es Dir nicht durchgelesen hast.
                  Aber genau das ist mein Problem, dass die IP nicht die Ziel-IP ist, weils eben gar nicht oder falsch aufgelöst wird. Die 218.203.284.261 ist die IP des WebServers auf dem das Script läuft, die Datenbank, die mit diesem Script abgefragt wird, liegt jedoch auf einem anderem Server...
                  Ich kann nun die direckte IP des anderen Servers mit der Datenbank eingeben oder die DNS-Adresse die eh aufgelöst wird. Im Fehler jedoch steht immer wieder die 218.203.284.261...

                  Kommentar


                  • #10
                    Zitat von Royal TS
                    Ich hab parallel auch in anderen Foren nach diesem Problem gesucht, und dort war eben auch dieses Problem mit "remote/outside MySQL(port 3306) connections" beschrieben.
                    Und dann bekommst Du als Fehlermeldung "Can't connect to MySQL server". Das ist nicht die Fehlerquelle.
                    Du kommst nicht an die Konfigurationsdateien ran, verbindest Dich aber mit der Benutzerkennung "root"? Was ist das denn für eine seltsame Kombination?

                    Kommentar


                    • #11
                      Zitat von Bruchpilot
                      Du kommst nicht an die Konfigurationsdateien ran, verbindest Dich aber mit der Benutzerkennung "root"? Was ist das denn für eine seltsame Kombination?
                      Wie gesagt, die Datenbank liegt bei mir auf dem lokalen Rechner. Da hab ich natürlich Root-Zugriff. Das Problem ist jedoch, dass der Webserver die Adresse nicht richtig weiter verarbeitet...
                      Da ich das Script aber auf dem Server eines Bekannten bereits getestet hab und es dort funktioniert, mit der Abfrage einer externen Datenbank, wird es wohl an meinem WebServer liegen...

                      Kommentar


                      • #12
                        Was läßt Dich vermuten, dass der Webserver die Adresse nicht richtig auflöst?

                        Access denied for user: 'root@218.203.284.261'
                        Das jedenfalls nicht.
                        benutzerkennung@standort
                        Standort desjenigen, der anfragt. Wenn vom Webserver aus die Verbindung zum mysql Server aufgebaut wird, ist das (immer) die ip des Webservers.
                        Warum das so ist und welche Auswirkungen das hat, steht bei http://dev.mysql.com/doc/mysql/de/co...on-access.html

                        Richte auf Deinem mysql Server mal einen Benutzer ein, dem Du genau diese ip zuweist und die notwendigen Rechte. Also zB webserver@218.203.284.261. Und dann benutze diese Kennung (webserver) in Deinem Skript.
                        Wie das geht, steht zB bei http://dev.mysql.com/doc/mysql/de/us...anagement.html

                        Kommentar

                        Lädt...
                        X