请问多个分店的MYSQL如何同步呢?是使用APACHE + PHP + MYSQL 实现的。---情况是这样的,之前公司为房产中介制作一个房源管理软件。现在想要实现多个店面之间的数据同步。当某一个店新增加一间房源的时候,会同步到其它分店。当某家店的断网的时候,那这家店只能看到自己本地数据库,而不能同步到其它店面。像这样的需求,有什么办法可以实现吗?---我最先想是使用Master/Slave 双向数据同步。但公司现在只有一台主服务器,而需要同步的中介有多家。比如A中介使用A数据库表名,B中介使用B数据库表。请问能不能设置,所有A分店的,只同步服务器上的A数据库表;所有B公司的分店,同步B数据库表呢?---或者,A中介自己买个固定IP。所有A中介的分店,都与A中介的主机数据库双向同步呢?但这样,中介需要自己再置一台服务器出来,费用较高,业务难以谈。---或者,使用PHP程序同步?连接到主服务器数据库,然后同步指定数据库A,指定表house_info,与本地对应表同步。每十分钟循环同步一次???请哪位大侠指点一下。谢谢了。

解决方案 »

  1.   

    现在遇到更糟的情况是,MYSQL使用一主多从同步的话,除了总公司有固定IP外,其它分公司都没有固定IP,这没办法设置啊。设置MYSQL集群也一样,没有固定IP。
    -------------------------------
    唉,好杯具现在考虑到的办法就是,当分公司用户插入数据的时候,向hms_operation_records记录表写入一条操作记录,使用软件,第一分钟判断是否更新到总公司服务器。软件还每一分钟查询总服务器哪些是其它分公司更新的,本地还没有的,就下载来插入到数据库。
    ----------------------------------
    不过,表设计这样有一个is_update列,如果更新到总公司数据库就为1,没有更新到总公司就为0。
    现在就在考虑,怎么判断总公司数据库哪一些是其它公司更新的,本地还没有的???
    求指点。
      

  2.   

    分公司都没有固定IP ???
    那么你的这个系统是内部办公用的了由于母公司不能主动访问子公司(子公司没有固定IP)
    所以只能由子公司通过查询来解决了你可以考虑增加一个模块
    每当子公司有数据库操作之后,就调用这个模块:将本次操作的信息传递给母公司,并接受母公司返回的变动信息。收到变动信息后,更新本地数据库。这个调度过程仅仅一个is_update列是不够的