mySQL Datenbank replizieren / synchronisieren

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Neo311087, 6. Mai 2014 .

  1. 6. Mai 2014
    Hallo zusammen,

    Ich versuch mich bald an einem kleinen RPI Projekt. Einmal grob wie es aussehen wird: Ein IR Sensor soll, wenn er eine Bewegung feststellt, einen Eintrag in eine Datenbank vornehmen.
    Das Problem: Die Daten sollen sofort im Internet ersichtlich sein. Eigentlich würde ich ja die Eintragung direkt in einer DB im Netz vornehmen jedoch kann es dazu kommen, dass der RPI kurzzeitig keine Verbindung zum Internet hat, um Datenverlust vorzubeugen würde ich also die Datensätze erst in einer lokalen DB auf dem RPI vornehmen und diese DB dann gerne im Sekundentakt mit der DB im Netz syncen.
    Hab dazu bis jetzt jedoch wenig gefunden, eine Master - Slave Konfiguration kommt (soweit ich das verstanden hab) nicht in Frage, da sobald die Verbindung zwischen den Datenbanken mal ausfällt ich den Sync wieder manuell "aufbauen" muss. Exportieren, hochladen, importieren fällt mMn flach, da dies nicht sehr performant ist. Es wird ein "Live" System sein, die Verzögerung soll maximal 5 Sekunden betragen.

    Hat da jemand von euch Ideen? Verwendet werden soll eine mySQL Datenbank.

    Viele Grüße

    Neo
     
  2. 6. Mai 2014
    AW: mySQL Datenbank replizieren / synchronisieren

    master-slave ist die frage was dann master und was slave ist. der master speichert alle querys in einer binary und diese wird vom slave auch ausgeführt sobald möglich. normal müsste er sich auch bei verbindungsunterbrechung automatisch syncen.
    hier müsste aber dann das temporäre gerät der master sein und der slave die serverdb auf dem nur der select ausgeführt wird und das ist sicher nicht so geschickt.

    dashalb ist vll ein master-master die lösung: MySQL 5.5: Master-Master-Replikation | StefanKonarski.de
     
  3. 6. Mai 2014
    AW: mySQL Datenbank replizieren / synchronisieren

    Genau, Master wäre der lokale gewesen und Slave die RemoteDB. Jedoch muss das System hinterher extrem Fehler unanfällig sein.

    CHANGE MASTER TO MASTER_HOST='db2', MASTER_USER='repl', MASTER_PASSWORD='geheim2', MASTER_LOG_FILE='db2-bin.000003', MASTER_LOG_POS=107;

    Dieser Befehl zeigt mir doch schon dass wenn eine Maschine einmal ausfällt ich manuell die Werte für MASTER_LOG_FILE und MASTER_LOG_POS anpassen muss, oder?
     
  4. 6. Mai 2014
    AW: mySQL Datenbank replizieren / synchronisieren

    syncronisiert er wenn er abbricht nicht eigentlich bis zu der stelle und wenn er wieder aktiv ist macht er einfach Weiter?, es gibt im übrigen auch wege das AUtomatisch zu syncronisieren, zumindest hatte ich hierbei mal nen script gesehen *was ich im moment ned finde*
     
  5. 7. Mai 2014
    AW: mySQL Datenbank replizieren / synchronisieren

    Das weiß ich nicht, müsste ich mal ausprobieren, ich denke aber nicht weil ich einige Einträge gelesen hab die von Log Dateien bereinigen und Anfang neu setzen sprechen wenn einer mal abschmiert.
    Wäre super wenn du das Script finden würdest. Wobei ich denke, dass dort einfach nur ein backup -> hochladen -> import automatisiert wurde?
     
  6. 7. Mai 2014
    AW: mySQL Datenbank replizieren / synchronisieren

    das weiß ich gerade nicht, ich weiß aber das er die log position ausliest und auf dem slave richtig setzt.

    Sagmal kannst du die einträge nicht abfangen? weil dan hätte ich gesagt adde sie doch gleichzeitig per script in beiden dbs
     
  7. 7. Mai 2014
    AW: mySQL Datenbank replizieren / synchronisieren

    Klar aber dann müsste ich ja auch jedesmal überprüfen ob die Daten konsistent sind. Es kann ja beim Eintrag in die Remote DB zu nem Verbindungsabbruch kommen.
     
  8. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.