主从复制之神秘的表丢失

问题想象:

最近在做一个项目的生产环境迁移,采用的是《源-中继-目标》这种架构,在测试阶段,开发反应一个问题:目标端的测试数据少了两张表。第一反应是:这两张表肯定是最近新增的表。因为我们的测试数据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,也就没法同步到中继节点。这就出现了上述所说的情况。

时间: 2025-01-13 08:16:38

主从复制之神秘的表丢失的相关文章

转 一个oracle11g 使用exp导出空表丢失的问题分析及解决办法

用exp无法导出空表解决方法 最早的一次使用oracle 11g导出数据发现有的表丢失了,感觉莫名其妙的,后来终于找到原因了. 找到问题以后,再看看解决方案.11GR2中有个新特性,当表无数据时,不分配segment,以节省空间,可是在用EXPORT导出时,空表也不能导出,这就导致迁移时候丢失了一些表,存储过程也失效了.本以为EXP能有相应的控制开关,可以切换是否导出空表,看了下帮助,没有太大的改变.有些奇怪,难道11GR2不更新EXP的功能了,还看有的帖子说11GR1作为客户端去卸载11GR2

MYSQL正式环境主从复制(不锁表,不停服务)

参考URL: http://rfyiamcool.blog.51cto.com/1030776/1016636/ 原因源于其实以前环境是有MYSQL主从复制的,且最开始主从复制之间是OK的. 但由于日志长得太多,同步来不急,磁盘空间满了之后,失了很多记录.所以必须重新作主从,但主已不能被影响了. ~~~~~~~~~~~~~~~~~~~~~~~~ 那就用XTRABACKUP吧,,阿里RDS也是用这个工作来作一些备份恢复的. 基于上,理想了思路,多参考几个网上文章就可以开始啦.. 但数据库太多,备份

MySQL主从复制指定不同库表同步参数说明

replication 中通过以下参数减少binlog数据量 master端: --binlog-do-db 二进制日志记录的数据库(多数据库用逗号,隔开) --binlog-ignore-db 二进制日志中忽略数据库 (多数据库用逗号,隔开) 以下是mysql主从忽略授权表的方法案例: in master: binlog-do-db=YYY 需要同步的数据库.不添加这行表示同步所有 binlog-ignore-db = mysql   这是不记录binlog,来达到从库不同步mysql库,以确

spring mvc 跳转后页面cs样式表丢失

原因:../不能正确返回 解决办法:jsp文件加<% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> 样式表地址采用<%=path %>/替换../ 例:<link hr

Mysql DBA 高级运维学习笔记-MySQL主从复制指定不同库表参数说明

1.同步少量库 binlog-do-db=db_px replicate-do-db=db_px---如需跨数据库更新并且不想复制这些跟新,应使用该选项 replicate-do-table=db_px----允许跨数据库更新 replicate-wild-do-table=db_px---用于跨数据库更新 2.ignore:排除 binlog-ignore-db=mysql replicate-ignore-db=mysql-如需跨数据库更新并且不想复制这些更新应使用该选项 replicate

【翻译自mos文章】当使用原地升级的方法将db升级到11.2.0.4之后,windows注册表丢失autostart属性

来源于: Windows Registry Missing Autostart Attribute after In-Place Upgrade of Oracle Database from 11.2.0.3 to 11.2.0.4 (文档 ID 1963067.1) APPLIES TO: Oracle Database - Enterprise Edition - Version 11.2.0.1.0 to 11.2.0.4 [Release 11.2] Information in th

HBase 表迁移中对丢失的表检查使用的语句

在进行表检查时报错: org.apache.hadoop.hbase.TableNotFoundException: ods_matchinfo 改表丢失了 将报错的表删除,执行hbase hbck -fixMeta hbase hbck –fixAssignments 直到都没有报错. 解决命令如下: hdfs dfs –rmr /hbases/data/default/Tabel hbase hbck -fixMeta hbase hbck -fixAssignments

解决Django Admin管理界面样式表(CSS Style)丢失问题

我在配置django自带管理界面过程中登录http://domain.com/admin后台时出现样式表丢失的问题,界面变成了这样: 系统环境:centos6.5+nginx1.5.9+uwsgi2.0.4+django1.4.9 nginx配置文件: server {         listen       80;         server_name  www.omserver.com;         location / {             uwsgi_pass 192.16

【Python】解决Django Admin管理界面样式表(CSS Style)丢失问题

配置Django Admin,关于如何启用请参考Django官方文档<Activate the admin site>.但是我在配置过程中登录http://example.com/admin后台时出现样式表丢失的问题,比如说界面变成了这样: 上网搜索了不少文档,多是Apache环境下的解决方案,我配置的是Nginx服务器,所以根据Apache的解决提示进而摸索办法,最终要解决这个问题我这里总结有3步(假设已经配置好admin登录系统): 1. 修改settings.py中STATIC_ROOT