Mysql数据库在两个数据库之间同步

pee*_*dee 79 mysql database

我们在各个商店运行java POS应用程序,后端为Mysql,现在我想保持商店中的数据库与服务器中的数据库同步,当商店发生一些变化时,它应该在服务器上更新.我如何实现这一目标?请帮助我

Boo*_*eus 59

复制不是很难创建.

这是一些很好的教程:

http://aciddrop.com/2008/01/10/step-by-step-how-to-setup-mysql-database-replication/

http://www.ghacks.net/2009/04/09/set-up-mysql-database-replication/

http://dev.mysql.com/doc/refman/5.5/en/replication-howto.html

http://www.lassosoft.com/Beginners-Guide-to-MySQL-Replication

这里有一些简单的规则你必须记住(当然还有更多,但这是主要概念):

  1. 设置1个用于写入数据的服务器(主).
  2. 设置1个或多个服务器(从站)以读取数据.

这样,您将避免错误.

例如: 如果您的脚本插入主服务器和从服务器上的相同表中,则会出现重复的主键冲突.

您可以将"slave"视为"备份"服务器,其中包含与主服务器相同的信息但不能直接添加数据,只能按照主服务器的说明进行操作.

注意:当然您可以从主设备读取,但您可以写入从设备,但请确保您不要写入相同的表(主设备到从设备和从设备到主设备).

我建议监控你的服务器,以确保一切正常.

如果您需要其他帮助,请与我们联系


Jav*_*ier 22

三种不同的方法:

  1. 经典客户端/服务器方法:不要在商店中放置任何数据库; 只需让应用程序访问您的服务器.当然,如果你设置VPN更好,但只需将连接包装在SSL或ssh中是合理的.亲:这是数据库最初被认为的方式.Con:如果您有高延迟,复杂的操作可能会变慢,您可能必须使用存储过程来减少往返次数.

  2. 复制的主人/主人:正如@书的宙斯建议的那样.缺点:设置稍微复杂一些(特别是如果你有几家商店),任何商店机器的破坏都可能会危及整个系统.优点:更好的响应性,因为读操作完全是本地的,写操作是异步传播的.

  3. 脱机操作+同步步骤:在本地和不时(可能是每小时一次,每天,每周,等等)进行所有工作,使用上次同步操作中的所有新/修改记录编写摘要并发送到服务器.优点:可以在没有网络的情况下工作,快速,易于检查(如果摘要是可读的).缺点:您没有实时信息.

  • 我要求设置第三种类型的db sync(离线操作+同步),希望能够阅读更多内容.无法谷歌这一个.他们的书/文章我可以参考吗? (9认同)

小智 10

SymmetricDS就是答案.它支持具有单向或双向异步数据复制的多个订户.它使用Web和数据库技术在关系数据库之间复制表,如果需要,几乎实时.

全面而强大的Java API以满足您的需求.