我有一个使用MySQL存储数据的Web应用程序。 网络应用程序是内部的(不可通过互联网)。跨数据库的MySQL数据库同步
我现在必须跨3个(也可能更多)地点(分支机构)部署此应用程序。 他们需要能够同步数据(在一个位置创建的条目在其他分支位置可用)。
要求
- 每个位置读取和本地写入/为自己的网络上
- 数据库同步每天一个(可能通过通过SSH脚本)的Web应用程序+ mysql数据库的本地实例这样每个地点都有相同的数据。
我能够解决这个问题(迄今为止)的唯一方法是创建UUID(唯一标识符)并用源位(用于起始位置)和同步位(新= 0 ,synced = 1),然后写一个脚本,我每晚SSH SSH到每个位置,并添加=我的源和同步= 0到每个位置的行...我意识到这是蛮横的,不是很优雅/可靠,但我不确定还有什么要做。
客户端担心,如果互联网连接失败,他希望应用能够在本地运行,但其他分支(通过夜间脚本或其他方式)仍然会同步。正如我所说,今年晚些时候总共有3个地点,可能还会有更多地点。
任何意见的建筑将不胜感激。
PS。由于安全问题,我没有将数据库连接到互联网。但我愿意接受所有建议。
谢谢。
如果您的数据没有删除或更新,那么每晚只需插入新行就可以了...但如果有更新或删除操作,如果您尝试执行操作,则会遇到很多麻烦它手工。检查参考手册中的'复制':http://dev.mysql.com/doc/refman/5.6/en/replication.html – Barranka 2013-03-26 21:50:38
正确。如果发生变化,将会带来巨大的痛苦(即使没有人预测到,这是一种危险的情况) – 2013-03-26 22:16:39