telefix1
Goto Top

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ß face-wink
Gibt es einen Automatismus, den Ihr mir empfehlen könnt?

mfg telefix1

Content-Key: 109109

Url: https://administrator.de/contentid/109109

Printed on: June 22, 2024 at 20:06 o'clock

Member: SlainteMhath
SlainteMhath Feb 16, 2009 at 10:55:19 (UTC)
Goto Top
Moin,

versuchs mal hiermit: http://www.google.de/search?q=mysql+replication

lg,
Slainte
Member: telefix1
telefix1 Feb 16, 2009 at 11:14:58 (UTC)
Goto Top
..hmm, das ist ja genau das, was ich nicht möchte. Die Replication ist unidirektional und asynchron, ähnlich Master-Slave-Szenarien, wobei die Slave-DB mit der Master-DB abgeglichen wird. Das funktioniert wie gesagt auch mit Export-Import.

Ich habe aber:

Datenbank 1, Daten A B C D E
Datenbank 2, Daten C D E F G

und möchte nach dem Synchron in beiden DBs die Daten A B C D E F G haben...

mfg telefix1
Member: problemsolver
problemsolver Feb 16, 2009 at 12:21:01 (UTC)
Goto Top
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 face-wink 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
Member: telefix1
telefix1 Feb 16, 2009 at 12:59:50 (UTC)
Goto Top
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 face-wink
Günstig ist das leider nicht, da hierbei eine Menge Know-How und
Funktionen hintersteckten.

...das ist ja auch o.k., aber wie heißt denn die Lösung? "DB-Sync R 5.9.1"? Ich bin bei meinen Recherchen zu keinem Ergebnis gekommen.

P.S.: Falls ich mich irren hier sollte, bitte ich um eine harte und
faire Bestrafung :-P

...abgelehnt face-wink, wenn Du mir verraten kannst, wie ich wenigstens einen einmaligen Synchron hinbekomme, sodass ich danach beim Stand "Null" eine Replication aufbauen kann.

mfg telefix1
Member: problemsolver
problemsolver Feb 16, 2009 at 13:37:02 (UTC)
Goto Top
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 face-wink

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
Member: telefix1
telefix1 Feb 16, 2009 at 14:10:28 (UTC)
Goto Top
...also doch erstmal Handarbeit face-sad

Die Arbeit kann Dir
leider keiner abnehmen...

...ich habe es befürchtet face-wink

Trotzdem thx

mfg telefix1