如何将新的和更新的行从脱机复制到在线数据库?

时间:2013-10-21 19:48:29

标签: mysql delphi remote-server delphi-xe3

这是您拥有桌面应用程序且其数据库位于远程服务器中的情况之一。就我而言,它是MySQL,应用程序是在Delphi XE3中完成的。但是当客户希望他的数据离线和在线时(为了速度和安全性),我们需要:

  1. 使用远程服务器信息登录(更新);
  2. 将在线数据库同步到离线状态;
  3. 在应用程序和数据库上执行任务;
  4. 将离线数据库与在线同步。
  5. 我的问题:有没有一种标准的方法可以通过MySQL指令或其他自动方式来实现?或者我是否会编写所有规则以使其成为可能?

2 个答案:

答案 0 :(得分:4)

幸运的是,这里不需要代码 复制已经内置到MySQL中多年。

诀窍是将远程主机设置为主设备,将本地副本设置为从设备 所有更新都发给主人 奴隶从遥控器读取。

文档在这里:http://dev.mysql.com/doc/refman/5.7/en/replication.html
这是一个教程:http://www.howtoforge.com/mysql_master_master_replication

请注意,实际上只能有一个主设备,否则设置会变得太复杂而无法使用。

答案 1 :(得分:0)

您可以查看客户端数据集(因为您需要更新本地版本我不相信mysql允许多个主人)。基本上,您的应用程序在联机时连接到mysql,如果您的应用程序脱机,则将数据库存储并更改到本地xml数据库中。一个在线,您应用更新。 cds的缺点是:本地没有sql,您的本地更改可能与其他用户所做的更改冲突,因此应用更新必须包含协调冲突的逻辑。还有cds还在试图让我的头围绕它