mysql主从同步挂掉,从数据库数据没有同步

问题: 项目中数据库使用的主从同步,报表查询使用的从数据库数据,测试人员发现项目中报表近两天天数据为空,经排查,发现从mysql主从挂掉了,数据没有同步过来.
问题原因: 从库执行主库事务时报错.
错误如下:
Last_Error: Could not execute Delete_rows event on table iam.analysis_app_tb;Can’t find record in ‘analysis_app_tb’,Error_code: 1032;handler error HA_ERR_KEY_NOT_FOUND;the event’s master log mysql-bin.000036,end_log_pos 1043243243
解决办法:
1,登录mysql从库,查询主从同步状态;

>show slave status\G;

结果显示Slave_SQL_Running: No,说明主从挂掉了;
2,停止slave服务

> stop slave;

3,设置跳过相关错误

SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;

4,开启slave服务

>start slave;

5,如果还有报错,重复步骤2-4;

解决思路:
可选方案如下:
一、查看Master最新的Position,将其作为Slave复制的起点。
这种思路体现的是过去的不一致既往不咎,现在保持同步即可。看起来,这个思路和恢复主从库数据的一致性的初衷有所违背,但这种方法,简单,高效,在测试环境,对历史数据要求不高的场景中可使用。

二、必须严格的恢复主从库数据的一致性。
在这里,也有两种思路:

  1. 备份主库数据,并在从库上恢复,在历史数据一致性的基础上开启同步,但这种方法比较麻烦,必须在主库上执行锁表操作,阻止客户端对于表数据的更新操作,而且在数据量大的情况下,备份也是个耗时的工程。其实,这种方法在实际生产环境中也很少用。
  2. Skip掉相关错误
    其实,这个说活不是很严谨,准备的说,是跳过相关的事务。在我今天这种情况下,就是skip掉因违反主键约束而失败的insert语句。

参考博客: https://m.xp.cn/b.php/112646.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL主从同步中,可以通过配置来屏蔽某些表的数据。具体的配置方法如下: 在主数据库的配置文件中,可以使用"binlog-ignore-db"参数来屏蔽某个数据库数据同步。例如,如果要屏蔽名为"mysql"的数据库,可以在配置文件中添加如下配置: ``` binlog-ignore-db=mysql ``` 同样地,也可以使用"binlog-ignore-db"参数来屏蔽其他系统库,如"information_schema"和"performance_schema"。只需在配置文件中依次添加对应的配置即可。 对于从数据库,可以使用"replicate_wild_ignore_table"参数来屏蔽某个数据库下的表数据同步。例如,如果要屏蔽名为"mysql"的数据库下的所有表数据同步,可以在从数据库的配置文件中添加如下配置: ``` replicate_wild_ignore_table=mysql.% ``` 同样地,也可以使用"replicate_wild_ignore_table"参数来屏蔽其他系统库下的表数据同步,如"information_schema"和"performance_schema"。只需在配置文件中依次添加对应的配置即可。 综上所述,通过在主从数据库的配置文件中添加相应的配置,可以实现对特定数据库或表数据同步的屏蔽。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Mysql服务器主从同步搭建](https://blog.csdn.net/dear_Alice_moon/article/details/127792529)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [MySQL主从同步与分表](https://blog.csdn.net/weixin_56697114/article/details/121004030)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值