簡體   English   中英

如何同步兩個 MySQL 表?

[英]How to sync two MySQL tables?

如果我在我的一台服務器上有一個表(我們稱之為orders ),例如命名為local 我的另一台服務器也有同一張表,例如名為remote

我的問題是,同步這兩個表的最佳方法是什么?

如果本地與遠程不同,我想要一個替換注冊表的解決方案。 如果本地表上不存在注冊表,則插入注冊表。

我曾嘗試使用 dump 類似於此的轉儲命令,但沒有按預期工作:

/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

我怎樣才能做到這一點? 我怎么能做一個腳本來做到這一點?

pt-table-sync可以做到這一點: http//www.percona.com/doc/percona-toolkit/2.1/pt-table-sync.html

另請參閱提及pt-table-sync的其他SO問題和答案

可以說“最好”的方法是使用MySQL復制,在此處記錄: http//dev.mysql.com/doc/refman/5.5/en/replication.html

我正在解決不斷同步兩個表的類似問題。

在所有腳本中(其中大多數是舊的)我發現這個積極開發的應用程序(看起來很有前途)

https://github.com/mrjgreen/db-sync

我會嘗試一下,也許以后我會寫一個例子。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM