Seite 1 von 1

MySql Tabellen Synchronisation

Verfasst: Dienstag 1. September 2020, 20:43
von p3t3r
Guten Abend,
ich bin ganz neu hier und in der Python Welt. Bitte habt etwas Nachsicht.
Ich habe folgendes vor.
Ich habe auf einem Linuxrechner eine Mysql Datenbank in der Sensordaten geschrieben werden. Die Datenbank besteht aus folgenden Spalten ID (Auto Increment )DATUM SENSOR WERT Dieser Rechner ist nicht immer mit dem Internet verbunden.
Nun möchte ich wenn die Verbindung zum Internet da ist ein Python Skript ausführen.
Dieses Skript möchte ich nun schreiben.
Das Skript soll folgendes tun.
Die letzte geschriebene ID Auslesen und mit einer Mysql Datenbank auf einem Server vergleichen. Wenn diese Id nicht die selbe ist, möchte ich die fehlenden Einträge auf den Server synchronisieren.
Sollte machbar sein? oder?
Bitte helft mir mein Vorhaben zu realisieren.
Danke

Re: MySql Tabellen Synchronisation

Verfasst: Dienstag 1. September 2020, 22:19
von sparrow
Grundsätzlich solltest du erst einmal herausfinden, ob du extern überhaupt auf deine Datenbank auf dem Server verbinden kannst.
Die meisten Webhoster haben das (aus gutem Grund) deaktiviert.
Falls dem nicht so ist, musst du auf dem Server auch eine entsprechende Schnittstelle bauen.

Die Antwort auf deine Frage "Sollte machbar sein" lautet: Ja.

Re: MySql Tabellen Synchronisation

Verfasst: Mittwoch 2. September 2020, 00:00
von __blackjack__
Ich würde vorher auch mal schauen was MySQL selbst schon so an Mitteln zur Replikation anbietet, bevor ich das selbst etwas schreibe.

Re: MySql Tabellen Synchronisation

Verfasst: Mittwoch 30. Dezember 2020, 17:49
von naheliegend
@sparrow: Warum braucht man auf dem Server eine Schnittstelle?

Hätte jetzt den Python Connector für MySQL benutzt:

https://dev.mysql.com/doc/connector-pyt ... cting.html

um an die Daten zu kommen, zu vergleichen und dann Werte zu schreiben.

Re: MySql Tabellen Synchronisation

Verfasst: Mittwoch 30. Dezember 2020, 18:49
von __blackjack__
@naheliegend: Man muss ja irgendwie vom Linuxrechner zuhause an den Datenbankserver beim Hoster heran kommen. Also braucht man auf dem (Web)Server beim Hoster eine Schnittstelle. *Die* kann dann ja den Connector benutzen, aber eben auf dem Webserver und nicht auf dem Linuxrechner zuhause.

Letzteres wäre beispielsweise möglich wenn man den Datenbankport auf dem Datenbankserver über den Webserver zum Rechner zuhause per SSH tunneln kann. Dann wäre dieser SSH-Tunnel die Schnittstelle. Irgendwas braucht man halt, wenn direkt verbinden nicht geht.