【发布时间】:2013-03-12 16:58:00
【问题描述】:
如果我在我的一台服务器上有一个表(我们称之为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
我该怎么做?我怎么能做一个脚本来做到这一点?
【问题讨论】:
-
MySQL 内置了主/从复制功能,这对您的应用程序来说是否过大? dev.mysql.com/doc/refman/5.0/en/replication.html
-
您需要双向同步吗?如果是这样,那么您需要某种方式来标记删除,因为仅插入双向同步会错误地重新创建已删除的行。
-
@cdhowie,仅无方向性。
-
@AlexandreLavoie,我去看看,谢谢。
-
不删除,然后呢?否则 this 有效。
标签: mysql sql synchronization