现在我用keepalived搭建好了M-M环境,任何一个M宕机,VIP会自动漂移到另外一台M上面。但是现在有这么一个疑问,M下面还带了几个SLAVE,这些SLAVE怎么样设置它的复制呢?比如M1上的BINLOG是00001,但是M2上的BINLOG是00002.这个问题你们是如果处理的?

解决方案 »

  1.   

    要手动change了吧。
    mysql宕了切到另一台的脚本发我邮箱
      

  2.   

    没配置过感觉应该是手动切slave吧 slave延迟点数据又没有关系 切过来以后一会就赶上master了
      

  3.   

    不是延迟的问题,而是怎么样去获取到切换过去的那个时间点,M2的BINLOG FILENAME和POS位置
      

  4.   

    终于想明白了。
    用keepalived做高可用,SLAVE连接真实IP就可以了。如下
    M1:192.168.0.10
    M2:192.168.0.11
    S1:192.168.0.13
    S2:192.168.0.14
    M1,M2双向同步,M1打开级联复制开关
    默认情况下S1,S2,M2同步M1
    VIP:192.168.0.20
    VIP在M1,M2之间漂移。程序的写入连接192.168.0.20
    当M1宕机后,写入通过VIP写到M2,M1起来后同步M2,此时的拓扑为M2-->M1-->S1(S2)。
    如果M1起不来了,那么需要手动CHANGE MASTER S1和S2,LOGFILE和POS可以在M1的relay-log.info里得到。有可能丢失数据。