2011-03-21 64 views
0

目前我有这种情况,MySQL的复制问题

  1. 多个桌面客户端与MySQL数据库安装在他们的Windows机器上。
  2. 需要同步到网络上托管的一台服务器才能进行报告。
  3. 只需要做一种方式同步(客户端到网络)。
  4. 客户端IP总是在变化,因为他们使用标准的adsl而没有修复ip。
  5. 每个客户端数据库将同步到服务器上的一个独立数据库(托管在Web上)。
  6. 可以在调度程序上运行此同步吗?就像每隔3小时一次。

我想使用mysql复制,但我有一些关于如何设置这个问题的问题?我应该将这个设置为主从?还是高手要掌握? 我假设客户端将是主服务器,并且服务器将是从服务器,因为服务器仅用于报告目的,但检查大量的mysql复制,看起来复制是从slave初始化的? (我看到有设置像主服务器=从服务器设置ip)这样做失败的目的,因为服务器不知道有关客户端IP ...

回答

0

也许这是完全脱离标记给予你的一些项目(奴隶/主/等),但在我正在开发的一个应用程序中,我有一个类似的体系结构,其中单个源提供未知/动态IP的多个客户端。我的解决方案是在另一个字段中包含该行上次更新的时间戳,然后进行同步,客户端搜索其本地数据库以查找该列中的MAX,然后将该变量作为变量发送给Web服务,然后将所有行一个更近的时间戳。然后,客户端通过响应数据进行解析,并将REPLACES INTO置于其本地数据库中,以覆盖旧数据。

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