zoukankan      html  css  js  c++  java
  • 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。

  • 相关阅读:
    Python Module_subprocess_子进程(程序调用)
    开机自启动Powershell脚本
    开机自启动Powershell脚本
    Powershell 音乐播放
    Powershell 音乐播放
    Powershell指令集_2
    Zabbix实战-简易教程(1)--总流程
    AWS上获取监控数据(EC2/RDS都支持)
    Grafana最新版本4.3.1安装(后端使用mysql)
    Haproxy实战(3)
  • 原文地址:https://www.cnblogs.com/zhengwenqiang/p/8528958.html
Copyright © 2011-2022 走看看