Anzeige:
Ergebnis 1 bis 11 von 11

Thema: MySql Server hinter FritzBox aus dem Internet erreichen

  1. #1
    Registrierter Benutzer
    Registriert seit
    Sep 2017
    Beiträge
    6

    MySql Server hinter FritzBox aus dem Internet erreichen

    Debian 9.1 - per apt-get install: Apache2 - PHP7.0 - libapache2-mod-php7.0 - mysql-server - mysql-client - PHP7.0-mysql

    Ich habe natürlich die Beiträge hier im Forum dazu gesehen und auch einige andere im Netz. Hat leider nicht geholfen.

    Was hab ich gemacht:
    • die in der Kopfzeile genannten Pakete installiert. (Bei mysql-server wurde nicht wie in einigen Anleitungen zu sehen nach ein PW für root gefragt. - Aber ich denke das ist Ok da dieser User eh nicht angerührt werden sollte)
    • Maria gestartet und folgende Kommandos eingegeben: CREATE USER 'ext_User'@'%' IDENTIFIED BY 'password'; und GRANT ALL PRIVILEGES ON *.* TO 'ext_User'@'%' WITH GRANT OPTION;
    • gestern noch in die fast leere '/etc/mysql/my.cnf' bind-address 0.0.0.0 eingetragen (überall ist zu lesen das als standard 127.0.0.1 eingetragen ist. Hier war außer Kommentare und 2 Includes nichts eingetragen.)
    • und in der FritzBox die Portweiterleitung gesetzt: TCP | von Port 3306 bis Port 3306 | an PC 'name' | an IP 192.168.usw an Port 3306
    • Testumgebung geschaffen mit CREATE DATABASE testdb; use testdb; CREATE TABLE testtabelle (id INT(11) PRIMARY KEY AUTO_INCREMENT, identifier VARCHAR(2=));


    Gestern hatte ich noch zusätzlich phpmyadmin installiert und konnte von einem anderen Rechner im Netzwerk darauf zugreifen.

    Leider ging nach einem Neustart des gesamten Systems gar nichts mehr. Es kamen Fehlermeldungen das phpmyadmin eine Datei vermisse '/var/run/mysqld/mysqld.sock'. (Nur warum sollte sie bei einem Neustart verschwinden)
    Heut Vormittag hab ich das ganze System nach 2Std. Recherche neu aufgesetzt. So wie oben beschrieben.

    Übrigens zeigt mir /etc/mysql ls -l my.cnf -> /etc/alternatives/my.cnf
    Ist das ein Verweis oder link? beide sind zumindest identisch leer

    Das Programm das die Verbindung aus dem I-net aufrufen möchte - schmeißt immer die Fehlermeldung: Unable to connect to any of the specified MySQL hosts.
    Als Verbindung geb ich natürlich meine Externe IP an bzw eine DynDNS.

  2. #2
    Registrierter Benutzer
    Registriert seit
    Dec 2003
    Ort
    Dettenhausen
    Beiträge
    22.054
    Läuft der MySQL denn überhaupt? Kannst Du Dich lokal anmelden? Was steht in den Logs?

    Abgesehen davon, daß "MySQL über's Internet" per se keine gute Idee ist - ein VPN wäre da angesagt...
    Ich bin root - ich darf das.

  3. #3
    Registrierter Benutzer
    Registriert seit
    May 2001
    Ort
    Rülzheim
    Beiträge
    69
    Zum Verständnis:

    phpmyadmin greift lokal auf die mysql-Datenbank zu, d.h. wenn der apache-Webserver auf dem gleichen Rechner läuft wie die Datenbank, muss von außen nur der Webserver erreichbar sein.

    Anders sieht es aus, wenn man von außen direkt auf die Datenbank zugreift (z.B. mit libreoffice-base), dann muss in der Firewall der Port 3306 freigeschaltet sein und in der mysql-Konfig bind-address = 0.0.0.0 (oder eine dedizierte IP-Adresse) eingetragen sein.

  4. #4
    Registrierter Benutzer
    Registriert seit
    Sep 2017
    Beiträge
    6
    Ich hoffe das ist das richtige und du meinst service mysql status - dieser sagt kurzgefasst loaded, active (running)

    Vorhin kam ich mit 'mysql -u root' auch rein. Hab so den User und die Tabelle angelegt. Mit dem oben genannten User: ext_User nicht. Was aber wahrscheinlich an der host Angabe (%) liegt, oder?

    Jetzt komm ich nicht mehr rein:
    mysql -u root
    a) unknown option 'bind-address 0.0.0.0'
    ODER
    b) unknown variable 'bind-adress=0.0.0.0'

    entferne ich bind-address komplett, komme ich auch rein

    EDIT:

    Hallo bmk,
    ich habe ein in C# geschriebenes Programm das eine Mysql Verbindung herstellen möchte. Wenn ich dich recht verstehe ist der mysql Server nicht vom Apache Server abhängig? Und Apache hätte für diesen Fall wegbleiben können?
    Geändert von braesident (14.09.17 um 13:32 Uhr)

  5. #5
    Registrierter Benutzer
    Registriert seit
    Sep 2017
    Beiträge
    6
    Sorry wegen dem Doppelpost - hab die Log vergessen

    error.log.txt

  6. #6
    Registrierter Benutzer
    Registriert seit
    May 2001
    Ort
    Rülzheim
    Beiträge
    69
    Tippfehler bei address (2 d!) ?

    bei mir steht:
    bind-address = 0.0.0.0

    Bei phpmyadmin übernimmt php als apache-Modul die Kommunikation mit dem Db-Server über den mysqli-Treiber lokal(127.0.0.1).

    Nach "außen" werden lediglich Inhalte und Eingaben transportiert, das erledigt Apache über den Port 80.

    Wenn man von außen direkt auf dem DB-Server zugreift, wird der Datenbanktreiber des Clients verwendet, dazu braucht es dann den apache auf dem Server nicht mehr.

    Gruß bmk

  7. #7
    Registrierter Benutzer
    Registriert seit
    Sep 2017
    Beiträge
    6
    nur falsch abgetippt.

    Ich hab aber herausgefunden das vor bind-address folgendes gehört -> [msqld]
    So wird die Variable nun wenigstens erkannt und ich komme lokal wieder rein.

    Leider schaffe ich es nicht von außen darauf zuzugreifen.

    Müsste ich eine Antwort bekommen mit einem telnet öffendlicheIP 3306?
    oder kann das so nicht funktionieren?

    Gelesen hab ich auch das für den Remotezugriff in der my.cnf bind-address = mysql-server-IP eingetragen werden muss. Hat aber auch nicht geholfen.

  8. #8
    Registrierter Benutzer
    Registriert seit
    May 2001
    Ort
    Rülzheim
    Beiträge
    69
    In der /etc/mysql/mariadb.conf.d/50-server.cnf beginnen die Server-Einstellungen üblicherweise hinter der Sektion [mysqld]

    Die anderen Sektionen sind nur dafür da, wenn zusätzlich andere Versionen bzw. mysql in der Urversion verwendet werden.

    Es gibt da noch einige andere Konfigurationsdateien, das ist bei Debian schon etwas verwirrend.

    Den Zugriff von außen kannst Du mit Tools wie z.B. heidisql (www.heidisql.com, gibt es auch als portable Windows-Version) testen.
    Verbindungstyp MySQL (TCP/IP) und Hostname/IP eintragen, der Port 3306 sollte voreingestellt sein.

    Im Zweifelsfall mal die 50-server.cnf posten.

    Gruß bmk

  9. #9
    Registrierter Benutzer
    Registriert seit
    Sep 2017
    Beiträge
    6
    Dankeschön, HeidiSql ist ein guter Tipp.

    HeidiSql sagt immer can't connect to MySQL Server on 'meineIP'

    50-server.cnf.txt
    my.cnf.txt
    Geändert von braesident (16.09.17 um 01:28 Uhr)

  10. #10
    Registrierter Benutzer
    Registriert seit
    May 2001
    Ort
    Rülzheim
    Beiträge
    69
    Bei mir steht bind-address = 0.0.0.0 in 50-server.cnf in Zeile 29 !

    Wie in /etc/mysql/my.cnf angegeben, wird die 50-server.cnf zuletzt abgearbeitet !

  11. #11
    Registrierter Benutzer
    Registriert seit
    Sep 2017
    Beiträge
    6
    Also besten Dank.

    Nun läufts.

    Das Problem lag an der FritzBox, obwohl diese eine Button namens Übernehmen bei der Portweiterleitung hat, musste diese neugestartet werden.

    Und wegen bind-address funktioniert beides: 0.0.0.0 und auch die IP des MySql Servers selbst.

    Jetzt muss ich nur noch herausfinden was ich beachten muss wenn ich den ganzen Server ausschalte oder neu starte um nicht wieder Dateiverlust zu erleiden

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 13.01.16, 08:50
  2. SSH-Zugang auf Firewall-Rechner hinter Fritzbox Fon 7170
    Von NorbertBehrens im Forum Router und Netzaufbau
    Antworten: 9
    Letzter Beitrag: 24.05.10, 23:37
  3. SNMP-Gerät hinter FritzBox abfragen
    Von Hitman im Forum Linux als Server
    Antworten: 0
    Letzter Beitrag: 11.10.06, 13:48
  4. 2 PC hinter Router von aussen erreichen, wie?
    Von Araberboy im Forum Router und Netzaufbau
    Antworten: 10
    Letzter Beitrag: 30.05.04, 14:16
  5. webserver hinter router über DNS erreichen
    Von dunervst im Forum Router und Netzaufbau
    Antworten: 4
    Letzter Beitrag: 24.06.03, 19:50

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •