• mysql 从库执行insert失败导致同步停止


    服务配置:一主一从,版本都是 5.5 。主库配置了 binlog-do-db binlog-ignore-db

    问题复述:运营人员发现,昨天的数据统计不对。数据分析服务查询的是从库的数据。

    到tomcat-manager查看数据收集接口的请求次数、失败次数都是正常。说明在主库数据已经收集到了。而从库没有数据,那就是主从同步出现问题。

    在从库执行: show slave status; 

    从库的SQL线程在执行 insert 语句时报错,导致同步过程停止。而IO线程是正常的,binlog已经正常传到从库。

    insert 的报错原因是从库没有pkg_info这个数据库,却要执行insert语句。

    解决办法一

    1.停止 从库 线程 stop slave

    2.在从服务上创建pkg_info数据库、创建数据表。

    3. 开启 slave  start slave

    4. 查看从服务状态 show slave status;

    观察 seconds_behind_master 的值,在三分钟内,它的值从 70000多 变为 0.

    基本达到了完全同步。

     解决办法二

    从库配置slave_skip_errors=ON

    总结:如果一个数据库不需要被主从同步,binlog-do-db中没有配置这个数据库,会让ddl无法同步到从库,但是dml还是会被同步到从库。

    所以,想在主从同步时完全忽略一个数据库,一定把这个数据库配置在 binlog-ignore-db。

  • 相关阅读:
    Leon-ai on WSL
    自动化测试工具
    创建自己的Spring Boot Starter
    Spring Boot内嵌Tomcat session超时问题
    Spring Boot
    Spring Cloud
    Socket编程之Tomcat模拟_采坑汇总
    访问者模式
    模版模式
    策略模式
  • 原文地址:https://www.cnblogs.com/zhengwenqiang/p/8528958.html
Copyright © 2020-2023  润新知