zoukankan      html  css  js  c++  java
  • 主从复制之莫名少表

    问题想象:

    最近在做一个项目的生产环境迁移,采用的是《源-中继-目标》这种架构,在测试阶段,开发反应一个问题:目标端的测试数据少了两张表。第一反应是:这两张表肯定是最近新增的表。因为我们的测试数据5天前就已经停止同步生产库,最近新增的表是不会出现在测试环境的。过不期然,这两张表是新增的。于是从中继节点(中继节点是一直在同步源端生产数据的)导出一份数据再入到测试环境。检查后发现,缺少的表还是不存在。检查了中继几点到源端的主从同步,状态ok。检查了源端本身的主从复制状态也是ok。但是表就是少了。

    问题原因:

    后经排查发现,中继节点的主库是源端集群的从库,而该从库没有打开log_slave_updates  参数

    mysql> show variables like '%log%slave%';
    +---------------------------+-------+
    | Variable_name             | Value |
    +---------------------------+-------+
    | log_slave_updates         | OFF   |
    | log_slow_slave_statements | OFF   |
    +---------------------------+-------+
    2 rows in set (0.00 sec)

    这样的设置,会导致源端主库的操作不会同步映射到从库的binlog,也就没法同步到中继节点。这就出现了上述所说的情况。

  • 相关阅读:
    【光学相机】关于网络通信的方法及函数
    InvokeRequired与Invoke
    线程基本概念
    线程同步与线程异步
    AutoResetEvent和ManualResetEvent
    C#图像亮度调式与伪彩色图的处理
    Github文件高速下载方法
    JDK11以上版本没有JRE的解决方法
    mysql 随机函数生成某个范围内的整数
    mysql主键id重置
  • 原文地址:https://www.cnblogs.com/janehoo/p/5634097.html
Copyright © 2011-2022 走看看