Mysql复制问题

时间:2011-03-21 02:37:26

标签: mysql replication database-replication

目前我有这种情况,

  1. 在他们的Windows机器上安装了mysql数据库的多个桌面客户端。
  2. 需要同步到网络上托管的一台服务器以进行报告。
  3. 只需要进行单向同步(客户端到网络)。
  4. 客户端IP总是在变化,因为他们使用的标准adsl没有修复ip。
  5. 每个客户端数据库将同步到服务器上的一个独立数据库(托管在Web上)。
  6. 这个同步可以在调度程序上运行吗?就像从那以后每3个小时一样。
  7. 我正在考虑使用mysql复制,但我有一些关于如何设置它的问题?我应该将它设置为奴隶的主人吗?还是高手掌握? 我假设客户端将是主服务器,服务器将是从服务器,因为服务器仅用于报告目的,但检查大量的mysql复制,似乎复制是从slave初始化? (我看到在slave服务器设置上有类似master-host = ip的设置)这打败了目的,因为服务器不确定客户端ip ...

1 个答案:

答案 0 :(得分:0)

考虑到你提到的一些项目(奴隶/主/等),这可能完全不合适,但在我正在开发的应用程序中,我有一个类似的架构,单一来源为多个未知客户端提供服务动态IP。我的解决方案是包含另一个字段,其中包含上次更新该行的时间戳,然后进行同步,客户端在其本地数据库中搜索该列中的MAX,并将其作为变量发送到Web服务,然后返回所有行最新的时间戳。然后,客户端解析响应数据,并将其替换到其本地数据库中,以便覆盖旧数据。

我没有解决的一个细节(因为我的场景不需要它)是如何传达一个项目已被删除...也许当一行被删除时,一个条目在另一个表中以行主id进行,以及删除的时间戳,然后Web服务可以包含所有行的数组,其中包含该表的最新时间戳。