Wie mySQL DBs syncronisieren?
Moin, moin,
ich habe 2 mySQL-Datenbanken auf 2 verschiedenen Servern. Jetzt möchte ich beide DBs so syncronisieren, dass sie die gleichen Inhalte haben - logisch. Export- und Import-Funktionen sind nicht die Lösung, da die DBs überschrieben werden - wenn überhaupt.
Händisch ist das über den Admin auch kein Problem, aber die DBs sind grooooß
Gibt es einen Automatismus, den Ihr mir empfehlen könnt?
mfg telefix1
ich habe 2 mySQL-Datenbanken auf 2 verschiedenen Servern. Jetzt möchte ich beide DBs so syncronisieren, dass sie die gleichen Inhalte haben - logisch. Export- und Import-Funktionen sind nicht die Lösung, da die DBs überschrieben werden - wenn überhaupt.
Händisch ist das über den Admin auch kein Problem, aber die DBs sind grooooß
Gibt es einen Automatismus, den Ihr mir empfehlen könnt?
mfg telefix1
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 109109
Url: https://administrator.de/contentid/109109
Ausgedruckt am: 26.11.2024 um 01:11 Uhr
6 Kommentare
Neuester Kommentar
Hallo Telefix1,
du kannst Dir deine Frage eigentlich schon fast selber beantworten, da Du alles notwendige in deinen Ausführungen erläutert hast.
Entweder du hast und willst ein "Master Slave Gefüge" oooooder Du musst eine ständige Verbindung zwischen beiden Datenbanken besitzen. Beim zweiten wirst Du um kommerzielle Lösungen nicht drum herum kommen.
Die Datenintegrität muss gewährleistet sein!
Oder möchtest Du das in DB1 in Tabelle D Daten geändert in einem Datensatz ohne Sperre geändert werden? Wenn zu diesem Zeitpunkt bzw vor dem nächsten Sync jmd in DB2 in Tabelle D den gleichen Datensatz bearbeitet, ohne jedoch zu wissen, dass dieser Datensatz schon bearbeitet worden ist, so gewinnt der neuere von beiden und die ursprünglichen Änderungen sind futsch.
Lange Rede kurzer Sinn:
Wenn Du wirklich eine synchrone Lösung haben möchtest, musst Du Geld, Zaster, Knete und Moneten in die Hand nehmen Günstig ist das leider nicht, da hierbei eine Menge Know-How und Funktionen hintersteckten.
Zusätzlich hierzu kommt es dann noch auf die Bandbreite zwischen beiden Datenbanken an... aber naja... das würde zu weit führen...
Lieben Gruß und trotzdem noch viel Erfolg!
Markus
P.S.: Falls ich mich irren hier sollte, bitte ich um eine harte und faire Bestrafung :-P
du kannst Dir deine Frage eigentlich schon fast selber beantworten, da Du alles notwendige in deinen Ausführungen erläutert hast.
Entweder du hast und willst ein "Master Slave Gefüge" oooooder Du musst eine ständige Verbindung zwischen beiden Datenbanken besitzen. Beim zweiten wirst Du um kommerzielle Lösungen nicht drum herum kommen.
Die Datenintegrität muss gewährleistet sein!
Oder möchtest Du das in DB1 in Tabelle D Daten geändert in einem Datensatz ohne Sperre geändert werden? Wenn zu diesem Zeitpunkt bzw vor dem nächsten Sync jmd in DB2 in Tabelle D den gleichen Datensatz bearbeitet, ohne jedoch zu wissen, dass dieser Datensatz schon bearbeitet worden ist, so gewinnt der neuere von beiden und die ursprünglichen Änderungen sind futsch.
Lange Rede kurzer Sinn:
Wenn Du wirklich eine synchrone Lösung haben möchtest, musst Du Geld, Zaster, Knete und Moneten in die Hand nehmen Günstig ist das leider nicht, da hierbei eine Menge Know-How und Funktionen hintersteckten.
Zusätzlich hierzu kommt es dann noch auf die Bandbreite zwischen beiden Datenbanken an... aber naja... das würde zu weit führen...
Lieben Gruß und trotzdem noch viel Erfolg!
Markus
P.S.: Falls ich mich irren hier sollte, bitte ich um eine harte und faire Bestrafung :-P
Hi Telefix1,
eine Lösung kann ich Dir leider nicht so ohne Weiteres nennen - da gibt es zu viele Unterschiede. Aber als Tipp: Wenn Du etwas größeres planst, dann nehme doch eine "Sync Software" von einem großen Unternehmen oder investiere n bissle in Kaffee und lad Dir ein paar Consultants ein... die versuchen Dir bestimmt gerne was "zu verkaufen und Dich zu beraten".
Wir nutzen z.B. ein SAN inkl. Spiegelung, was wiederum bedeutet, dass wir blockbasiert Daten zwischen den Standorten hin und herschieben... da juckt es mich net, was MySQL dazu sagt
Eine anfängliche Replikation kann ich Dir leider auch nicht so ohne Weiteres herunterbeten. Ich denk mal, dass hier bei Dir Handarbeit angesagt ist (was aber, wenn Du dich ein wenig mit SQL-Syntax und JOINs (nicht Joints :-P) auskennst, kein Problem darstellen sollte)
Bau Dir einfach mal bei Dir lokal eine Testdatenbank auf, in die Du die Datensätze der Datenbanken importierst.
Dann schreibst Du Dir Scripte soweit es geht. Bei Datensätze die, wie oben schon gesagt, nicht mehr integer sind, musst Du manuell entscheiden, welcher Datensatz aktueller ist bzw. die Daten des einen mit den Daten des anderen Datensatzes abgleichen. Die Arbeit kann Dir leider keiner abnehmen... Aber TESTEN , das kannst Du auf jeden Fall!
Aber ich bin sicher, dass Dir ein Consultant von einem Unternehmen deines Vertrauens Dir gerne weiterhilft und Dir ein Angebot bzgl. dieser Synchronisation macht (inkl Software)
Gruß & Wünsch noch viel Erfolg
Markus
eine Lösung kann ich Dir leider nicht so ohne Weiteres nennen - da gibt es zu viele Unterschiede. Aber als Tipp: Wenn Du etwas größeres planst, dann nehme doch eine "Sync Software" von einem großen Unternehmen oder investiere n bissle in Kaffee und lad Dir ein paar Consultants ein... die versuchen Dir bestimmt gerne was "zu verkaufen und Dich zu beraten".
Wir nutzen z.B. ein SAN inkl. Spiegelung, was wiederum bedeutet, dass wir blockbasiert Daten zwischen den Standorten hin und herschieben... da juckt es mich net, was MySQL dazu sagt
Eine anfängliche Replikation kann ich Dir leider auch nicht so ohne Weiteres herunterbeten. Ich denk mal, dass hier bei Dir Handarbeit angesagt ist (was aber, wenn Du dich ein wenig mit SQL-Syntax und JOINs (nicht Joints :-P) auskennst, kein Problem darstellen sollte)
Bau Dir einfach mal bei Dir lokal eine Testdatenbank auf, in die Du die Datensätze der Datenbanken importierst.
Dann schreibst Du Dir Scripte soweit es geht. Bei Datensätze die, wie oben schon gesagt, nicht mehr integer sind, musst Du manuell entscheiden, welcher Datensatz aktueller ist bzw. die Daten des einen mit den Daten des anderen Datensatzes abgleichen. Die Arbeit kann Dir leider keiner abnehmen... Aber TESTEN , das kannst Du auf jeden Fall!
Aber ich bin sicher, dass Dir ein Consultant von einem Unternehmen deines Vertrauens Dir gerne weiterhilft und Dir ein Angebot bzgl. dieser Synchronisation macht (inkl Software)
Gruß & Wünsch noch viel Erfolg
Markus