实现【mysql 性能调优与架构设计】的级联slave
结果发现失败架构如下 master a --------> slave b -------> slave c
  (这个机器调整my.cnf 产生binlog)  
实际调整a b c 3台机器的my.cnf, 最后得到如下
a 主
b 主从 从连接a
c 从 从连接b测试结果发现 a的数据更新能够及时到 b, 但c不能得到a的变化。 复制不能传递(现在发现)。 
  (现在发现b机器的如果做数据更新, c上能实时收到b的数据更新) 如何能实现复制的级联更新?? (c上能接受a的数据的实时变化,如果能做该如何配置3个机器的my.cnf)   

解决方案 »

  1.   

    log_slave_updates=1B的INI里加上这个,到MYSQLD下。--logs-slave-updates通常情况,从服务器从主服务器接收到的更新不记入它的二进制日志。该选项告诉从服务器将其SQL线程执行的更新记入到从服务器自己的二进制日志。为了使该选项生效,还必须用--logs-bin选项启动从服务器以启用二进制日志。如果想要应用链式复制服务器,应使用--logs-slave-updates。例如,可能你想要这样设置:A -> B -> C
    也就是说,A为从服务器B的主服务器,B为从服务器C的主服务器。为了能工作,B必须既为主服务器又为从服务器。你必须用--logs-bin启动A和B以启用二进制日志,并且用--logs-slave-updates选项启动B。
      

  2.   

    我的是linux my.cnf replicate-do-table=mydb.userlog_slave_updates------------------------------这样加了就可以了吗?? 
    skip-slave-start
    slave-skip-errors=1062log-bin = /var/log/mysqld/bin.log
    binlog-do-db=oddsmatrixdb
    log-bin-index = /var/log/mysqld/log-bin.index
    log-error = /var/log/mysqld/error.logrelay-log = /var/log/mysqld/relay.log
    relay-log-info-file = /var/log/mysqld/relay-log.info
    relay-log-index = /var/log/mysqld/relay-log.index
    --logs-slave-updates
    前面 的 --去掉了 
      

  3.   

    log_slave_updates=1  测试通过 感谢zuoxingyu现在有个大问题 
    请问 视图复制 有人做过没有 ???maser 表 user
      视图 user_view
    slave user头疼slave的配置replication-view=mydb.user_view
    这个视图的变化如何到从机器的user表 还需要找如何实现
    我的视图内容为select * from user where grouid=8;请问可以设置为这样吗
    replication-view=mydb.user-------------不知道如何把视图 的内容 传递给 b机器 
    (已经能够做  级联复制+触发器
    但是我的复制表高达27个, 这样每个表写触发器非常麻烦 27×3=81,几乎快100多个,而且维护好麻烦。
    诚意想知道 mysql下 的  replication-view如何在2台主从机器之间实现