Se ho un tavolo (chiamiamolo orders
) su un mio server, denominato, ad esempio, local
. E ho questo stesso tavolo un altro mio server, chiamato, ad esempio, remote
.Come sincronizzare due tabelle MySQL?
Il mio problema è, qual è il modo migliore per sincronizzare queste due tabelle?
Vorrei una soluzione che sostituisce un registro se il locale è diverso da quello remoto. E inserisci il registro se non esiste sulla tabella locale.
avevo provato utilizzando il dump di un comando dump simile a questo, ma non ha funzionato come previsto:
/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
Come posso fare questo? Come potrei fare uno script per fare questo?
MySQL ha una replica master/slave integrata, è eccessivo per l'applicazione? http://dev.mysql.com/doc/refman/5.0/en/replication.html –
Hai bisogno di sincronizzazione bidirezionale? In tal caso, è necessario un modo per notificare le eliminazioni, poiché una sincronizzazione bidirezionale di solo inserimento ricreare erroneamente le righe eliminate. – cdhowie
@cdhowie, solo unidirezionale. – GarouDan