Wenn ich eine Tabelle (nennen wir es orders
) auf einem Server von mir, z. B. local
. Und ich habe diese Tabelle einen anderen Server von mir, zum Beispiel remote
.Wie synchronisiert man zwei MySQL-Tabellen?
Mein Problem ist, was ist der beste Weg, um diese beiden Tabellen zu synchronisieren?
Ich möchte eine Lösung, die eine Registrierung ersetzt, wenn die lokale unterscheidet sich von der Remote. Und fügen Sie die Registrierung ein, wenn sie in der lokalen Tabelle nicht vorhanden ist.
Ich hatte versucht, einen Befehl dump ähnlich wie diese mit Dump, aber funktionierte nicht wie erwartet:
/usr/bin/mysqldump --defaults-file=~/my/conf.cnf --skip-opt --skip-add-locks --default-character-set=latin1 --disable-keys --no-create-db --no-create-info --dump-date --compress --quick --replace --where='date > DATE_SUB(NOW(), INTERVAL 1 DAY)' mydb orders >> /backup/myDump
Wie kann ich das tun? Wie könnte ich ein Skript dafür machen?
MySQL haben eine Master/Slave-Replikation eingebaut, ist es Overkill für Ihre Anwendung? http://dev.mysql.com/doc/refman/5.0/en/replication.html –
Benötigen Sie bidirektionale Synchronisierung? Wenn dies der Fall ist, benötigen Sie eine Möglichkeit, Delete zu notieren, da eine bidirektionale Insert-Only-Synchronisierung gelöschte Zeilen fälschlicherweise neu erstellt. – cdhowie
@cdhowie, nur unddirektional. – GarouDan