![]() |
Datenbank: MySQL • Version: 5.x • Zugriff über: SciBit Direkt
MySQL Datenbanksyncronisierung mit Remote
Hallo Zusammen!
Ich habe 2 MySQL Server die mit einem "supercoolen" Verwaltungstool syncronisiert werden. Das klappt auch soweit ganz gut.. BTW:FEDERATED ist nicht möglich weil der Server ggf. nicht verfügbar ist... Es sei den die Verbindung zum Server bricht mal wieder zusammen während des Transfers. Nun wir in regelmäßigen Absänden mit "CHECKSUM TABLE XY" verglichen ob alles geklappt hat. Frage: Wie kopiere ich mit Delphi die Tabelle am einfachsten von Local zu Remote... Hierbei müssen natürlich auch gelöschte Datensätze Remote gelöscht werden? Gibt es etwas besseres als Drop Create und ne For Schleife? Wie kann ich ermitteln was sich geändert hat? Stichwort: Partielle Checksum mit Intervall-Schachtlung.. oder so... Jemand ne Idee... ? Alle Daten neu zu übertragen dauert viel zu lange! Grüsse Mavarik |
AW: MySQL Datenbanksyncronisierung mit Remote
Hallo,
da würde folgendes gehen allerdings bin ich mir nicht sicher ob MYSQL das leisten kann. Trigger für jede Tabelle erstellen, die bei jeder Datensatzänderung den SQL-Befehl in eine Tabelle schreibt; diese Tabelle braucht dann noch ein zusätzliches Feld für gesendet. Zb: (ID Bigint, SQLText varchar(1000) Gesendet boolean), (Datentypen sind vielleicht nicht ganz korrekt geschrieben; benutze MYSQL selten). Zum Abgleich ein Select auf die Tabelle machen und die SQL-Texte in eine Textdatei schreiben, diese an den Rechner mit der 2. Mysql-Datenbank übertragen und ausführen, zB. über einen PHP-Script. Sind nur 2 Datenbanken beteiligt und nur eine wird geändert, sollte das problemlos funktionieren. Gibt es mehrere Offline-User dann ist die Sache schon schwieriger, da im Zweifelsfall zu entscheiden ist, welcher Wert der richtige ist, etwa wenn User A Kunde Müller mit Nr 1000 angelegt hat und User B Kunde Meier auch mit Nr 1000. Da muss man ev. einige Arbeit investieren um die Sache sauber zum laufen zu bringen und entsprechende Regeln implementieren, Nummernkreise festlegen usw. Ich denke auch, dass MySql für so etwas nicht unbedingt geeignet ist, dafür sollte man ein sichereres Datenbanksystem wie MSSQL, Postges oder Firebird einsetzen. Gruß Ralf |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz