MySql Tabellen Synchronisation

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
p3t3r
User
Beiträge: 1
Registriert: Dienstag 1. September 2020, 20:26

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
Benutzeravatar
sparrow
User
Beiträge: 4164
Registriert: Freitag 17. April 2009, 10:28

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.
Benutzeravatar
__blackjack__
User
Beiträge: 13003
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Ich würde vorher auch mal schauen was MySQL selbst schon so an Mitteln zur Replikation anbietet, bevor ich das selbst etwas schreibe.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
naheliegend
User
Beiträge: 439
Registriert: Mittwoch 8. August 2018, 16:42

@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.
__backjack__: "Jemand der VB oder PHP kann, der also was Programmieren angeht irgendwo im negativen Bereich liegt (...)"
Benutzeravatar
__blackjack__
User
Beiträge: 13003
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@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.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Antworten