我有个需求:
  三个mysql的Master---A,B,C.一个mysql的Slave---S
A中有张表T_A;B中有张表T_B;C中有张表T_C;而在S中有三张表,T_A,T_B,T_C。分别对应T_A,T_B,T_C。
我想A,B,C,中写入数据,要同步到S中。
也就是说:三个主,一个从。在mysql里面可否实现呢??
我研究了好久了,没有实现。有人说不可以,有人说可以。
有人能权威的告诉我到底能还是不能吗?

解决方案 »

  1.   

    简单地说,不可以,每个从只能有一个主。比较绕的办法可以实现——俺当年就是这么干的:^_^A没有主;
    B的主是A,只复制表T_A;
    C的主是B,复制表T_A和T_B;
    S的主是C,复制表T_A,T_B和T_C要点是设置B/C把slave的修改也写到日志里。如果有表名冲突的话,可以另建数据库专门用于此。
      

  2.   


    多谢!但这不是我希望的模式。
    我想通过mysqld_multi来实现在从服务器上启动多个mysqld,但是每个mysqld所使用的数据文件设置为一样的,就是S的数据库文件。这样可以吧。在windows下可以吗?
      

  3.   


    没试过,但是很怀疑可行性,多个mysqld要锁相同的文件,听上去总是好像要出点什么问题。
      

  4.   


    不不不,虽然是多个mysqld ,而他们又是启动了同一个数据库,但是每个mysqld只操作了这个数据库中的某几个表。也就是说他们之间的表是没有交集的。您觉得这样可以吗?
      

  5.   

    有人在发个言吗?发言就给分。现在就一个人回答,给分只能给一个人。这样怕系统认为我捣分,把我封了就惨了。JAVA就是这样被封的。要封到2011年11月5日呢。
      

  6.   

    有人在发个言吗?发言就给分。现在就一个人回答,给分只能给一个人。这样怕系统认为我捣分,把我封了就惨了。JAVA就是这样被封的。要封到2011年11月5日呢。