MySQL级联复制(A->B->C)

默北 MySQL214,579字数 493阅读1分38秒阅读模式

MySQL主从结构实际中是用到最多的一种架构。 新上的两台服务器B和C,要替换掉之前旧的服务器A,同时,B和C是新的主从关系。因此,配置成级联复制,来迁移数据,也方便切换。

架构图如下:文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-cascading-replication-_a-_b-_c/

master A ------> slave B ------> slave C文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-cascading-replication-_a-_b-_c/

有这么情况发生了,服务器B可以正常复制服务器A的数据,服务器B和C主从状态Slave_IO_Running和Slave_SQL_Running都是yes的,但是服务器C却无法复制新的数据。文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-cascading-replication-_a-_b-_c/

原因分析:文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-cascading-replication-_a-_b-_c/

1. 检查服务器B有没有开启二进制日志log_bin文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-cascading-replication-_a-_b-_c/

2. log_slave_updates是否启用文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-cascading-replication-_a-_b-_c/

log_slave_updates是将从服务器从主服务器收到的更新记入到从服务器自己的二进制日志文件中。文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-cascading-replication-_a-_b-_c/

上面的问题是由于没有启用log_slave_updates = 1导致的。文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-cascading-replication-_a-_b-_c/

总结:文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-cascading-replication-_a-_b-_c/

因此,对于mysql级联复制,上游的从服务器不仅仅要开启log_bin还要开启log_slave_updates,否则将导致下游的从服务器无法更新复制。文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-cascading-replication-_a-_b-_c/

转载请注明来自运维生存时间:  https://www.ttlsa.com/html/3481.html文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-cascading-replication-_a-_b-_c/

 文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-cascading-replication-_a-_b-_c/ 文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-cascading-replication-_a-_b-_c/

weinxin
我的微信
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
默北
  • 本文由 发表于 23/10/2013 16:18:54
  • 转载请务必保留本文链接:https://www.ttlsa.com/mysql/mysql-cascading-replication-_a-_b-_c/
  • log_slave_updates
  • mysql
  • mysql复制
  • MySQL级联复制
评论  2  访客  1
    • toontong@163.com
      toontong@163.com 9

      B开启了log_slave_updates,bin_log也在刷,但是C服务器就是不拖B的bin_Log………

    • 来自外部的引用

    评论已关闭!