Externer Zugriff auf mysql-Datenbank

  • Guten Tag,


    ich versuche verzweifelt seit mehreren Stunden von meinem Rechner Zuhause aus auf meine sql-Datenbank zuzugreifen.

    Ich habe hierfür für diese Datenbank einen Benutzer erstellt, für den ausdrücklich Remoteverbindungen von beliebigem Host zugelassen sind.

    Im Control Panel sehe ich folgende Verbindungsdaten:

    Host

    10.35.47.10:3306


    Datenbankname
    k00000_test


    Benutzername
    k00000_test


    Passwort
    ******

    Nun habe ich versucht mit diesem Benutzer und der IP-Adresse per PHP-Skript von meinem Rechner aus auf die Datenbank zuzugreifen. Hierbei wird mir folgende Fehlermeldung angezeigt:

    mysqli::__construct(): (HY000/2002): Ein Verbindungsversuch ist fehlgeschlagen, da die Gegenstelle nach einer bestimmten Zeitspanne nicht richtig reagiert hat, oder die hergestellte Verbindung war fehlerhaft, da der verbundene Host nicht reagiert hat.

    Das hat also nicht funktioniert. Lade ich die Datei auf den FTP-Server hoch, so kommt es zu folgender Fehlermeldung:

    Connection failed: Unknown MySQL server host '10.35.47.10:3306' (2)


    Als nächstes gab ich als Host 10.35.47.10 (also ohne Port) an. Wenn ich von meinem privaten Rechner das PHP-Skript mit der Verbindung ausprobiere, kommt es erneut zu folgender Fehlermeldung:

    mysqli::__construct(): (HY000/2002): Ein Verbindungsversuch ist fehlgeschlagen, da die Gegenstelle nach einer bestimmten Zeitspanne nicht richtig reagiert hat, oder die hergestellte Verbindung war fehlerhaft, da der verbundene Host nicht reagiert hat.


    Funktioniert also nicht. Wenn ich das PHP-Skript auf den FTP-Server lade, und die Webseite aufrufe, funktioniert es erstaunlicher weise (obwohl kein Port angegeben ist).

    Als nächstes habe ich vom Support den Hinweis erhalten, dass ich die IP-Adresse für den externen Zugriff ändern muss, nämlich zu 46.38.47.10:3306. Gesagt, getan.

    Wenn ich den PHP-Skript lokal ausführe, kommt es WIEDER zur folgenden Fehlermeldung:

    mysqli::__construct(): (HY000/2002): Ein Verbindungsversuch ist fehlgeschlagen, da die Gegenstelle nach einer bestimmten Zeitspanne nicht richtig reagiert hat, oder die hergestellte Verbindung war fehlerhaft, da der verbundene Host nicht reagiert hat.

    Wenn ich das PHP-Skript auf der Webseite ausführe, kommt folgende Fehlermeldung:

    Connection failed: Unknown MySQL server host '46.38.47.10:3306' (2)

    Es funktioniert also auch nicht.

    Zum Schluss habe ich es nochmal ohne Port versucht, also mit 46.38.47.10. Diesmal kommt folgende Fehlermeldung: 504 Gateway Time-out


    Es funktioniert also auch in diesem Fall nicht.


    Woran könnte es liegen? Ich habe Passwort, Benutzernamen und Datenbanknamen mehrfach überprüft, daran kann es nicht liegen.

    Liegt es vielleicht an meinem Skript?



    Wenn mir jemand erklären könnte, woran zum Teufel es noch liegen könnte, wäre ich sehr sehr dankbar. Ich habe übrigens das Paket Webhosting 2000 de a1 gebucht.


    Gruß

    Alex

  • Zu den 10er IPS. Das wird so nciht gehen, da das 10/8 ein privates Netz (wie z.b. 192.168.0.0/24) ist und nicht von außen erreichbar.

    Ich glaube auch nicht, dass der MySQL so aus dem öffentlichen Netz erreichbar ist. Das wird nur auf den Netcup Bereich beschränkt sein.

  • Erstmal vielen dank für die Hinweise.


    Ich habe jetzt den Port gesondert als Parameter angegeben:

    Da es sich bei 3306 ja um den Standard-Port handelt, müsste ich diesen eigentlich nicht angeben, und auch das habe ich, wie bereits erwähnt, schon versucht. Es funktioniert aber weiterhin nicht. Wenn der PHP-Code richtig ist, müsste es doch entweder an den Zugangsdaten liegen (was ich jedoch schon mehrfach geprüft habe), oder ein Problem bei den Berechtigungen vorhanden sein (was ich auch schon überprüft habe).

    Woran könnte es denn noch liegen?

  • Kannst du diese Webseite ansurfen? http://portquiz.net:3306/

    Wenn nicht, kommst du aus deinem Netz nicht über den Port ins Internet.

    Ich wollte sowas auch schon schreiben, denn der

    Zum Schluss habe ich es nochmal ohne Port versucht, also mit 46.38.47.10. Diesmal kommt folgende Fehlermeldung: 504 Gateway Time-out

    kommt nicht von netcup, sondern wahrscheinlich von einem Proxy.

  • Hallo,

    ich habe derzeit das gleiche Problem: ich habe keinen externen Zugriff auf die MySQL-Datenbank.


    Eingestellt bei dem Benutzer ist: "Remoteverbindungen von beliebigem Host zulassen"

    Die Verbindung wird über die externe IP (188.*.*.*) versucht. Die erwähnte Seite ist ebenfalls abrufbar.


    Gibt es noch etwas weiteres beim externen Zugriff auf eine Datenbank zu beachten?

  • Ich habe heute zum Testen bei einem anderen Host einen Account erstellt und mich dort mit einer Testdatenbank verbunden. Es ging ohne Probleme, d.h. es liegt nicht an meiner Methode.


    Wie bereits erwähnt, habe ich Remoteverbindungen von beliebigen Hosts zugelassen. Auch habe ich die externe IP-Adresse, die man mir empfohlen hatte genutzt. Alles vergeblich. Ich bin mit meinem Latein am Ende. Ich hatte noch nie derartige Probleme bei einem Webhoster bei der Herstellung einer Remoteverbindung.

  • Man entschuldige bitte, dass ich schon wieder was schreibe, aber ich habe ENDLICH eine Verbindung bekommen.


    Alle IP-Adressen, die genannt wurden, waren nicht erreichbar. Ich habe mich im CCP angemeldet und mich da nochmal durchgearbeitet. Unter dem Punkt "Domains" und unter dem Tab "DNS" hab ich schließlich den Eintrag "db" gefunden, wo die IP-Adresse "188.68.47.10" eingetragen war. Damit, und nur damit, funktioniert es.

  • Unter dem Punkt "Domains" und unter dem Tab "DNS" hab ich schließlich den Eintrag "db" gefunden, wo die IP-Adresse "188.68.47.10" eingetragen war. Damit, und nur damit, funktioniert es.

    Vielen Dank. Endlich, endlich funktioniert auch meine Verbindung

  • Alle IP-Adressen, die genannt wurden, waren nicht erreichbar. Ich habe mich im CCP angemeldet und mich da nochmal durchgearbeitet. Unter dem Punkt "Domains" und unter dem Tab "DNS" hab ich schließlich den Eintrag "db" gefunden, wo die IP-Adresse "188.68.47.10" eingetragen war. Damit, und nur damit, funktioniert es.

    Würde mich mal interessieren, warum dies nicht so von dem Webhostingpanel vermittelt wird.

    Vor allem stellt man dort ja auch ein, ob externer (und wenn ja, welchen) Zugriff gewährt werden darf.


    Nun herauszufinden das extern nur über eine IP geht die unter den DNS Einstellungen versteckt ist, ist ein wenig... aufwendig.


    Trotzdem vielen Dank, alex4ero. Hast uns viel Zeit erspart!

  • Also wenn sich da in den letzten Wochen nichts Entscheidendes geändert hat, dann funktioniert das bei mir mit der externen IP des Datenbankservers, die im CCP/WXP auf der Übersichtsseite des entsprechenden Webhostings angegeben ist. Natürlich muss man bei der Datenbank einstellen, ob sie von überall aus erreichbar sein soll oder ggf nur intern (das meint vermutlich localhost) und funktioniert nicht, weil der Datenbankserver eine andere IP hat als der Webserver) oder nur von vom User spezifizierten IPs, IP-Bereichen oder Hostnamen aus.Insofern trage ich sowieso immer die (interne, die wirklich nirgend steht) IP des Webservers als zugelassenen externen Adresse ein. Vermutlich könnte ich es mir einfacher machen und einfach den Hostnamen des Webservers eintragen oder die öffentliche IP, das wird dann hoffentlich trotzdem netcup-intern bleiben.

  • Bei mir funktioniert es nicht. Nervt mich langsam wirklich, was alles nicht "normal" funktioniert. Von den Daten, die im CCP bei MySQL angegeben sind funktioniert weder DNS mysql****.netcup.net noch die IP dahinter 188.68.*****.

    Ich habe einen User angelegt, auf die DB berechtigt und Login von beliebigem Host zugelassen. Daten per Copy & Paste eingetragen - ergo keine Tippfehler. Geht nicht.