快速简单的解决办法:根据错误日志情况,简单快速确认故障点,然后确认是否可以跳过这个错误,跳过错误的方法是:set global sql_slave_skip_counter=1;跳过并忽略错误。

故障整理:

  • 在master上删除一条记录时出现的故障。

    在master上删除一条记录后,slave上因找不到该记录而报错。出现这种情况的原因是主机上已将其删除了,对此,可采取从机直接跳过的方式解决。stop slave;set global sql_slave_skip_counter=1;start slave;

  • 主键重复。

    主从数据不一致,slave上已经有该条记录,但我们又在master上插入了同一条记录是,就会报错。

    解决办法:查到相应主键,然后确认数据是否缺少存在,去过数据已经存在,可以跳过这个错误。或者delete掉这个主键。

  • 在master上更新一条记录,而slave上却找不到。

    master上有该记录,但slave上没有,当之后又更新了这个记录时就会报错。

    解决办法:在master上,用mysqlbinlog分析一下出错的binlog日志在干什么,例如一跳update语句,就可以在slave上找一下更新后的那条记录,应该不存在。然后在master上找到这一行数据,手动inster到slave上。然后在跳过报错即可。

  • slave的中继日志relay-log损坏。

    当slave意外宕机时,有可能损坏中继日志relay-log,在次开启同步复制,就会报错。

    解决办法:找到同步的binglog日志和pos点,重新同步即可。如可查找呢:

    show slave status\G,其中,涉及几个重要参数:

    slave_io_running:接受master的binlog信息。(io线程的工作)

    master_log_file:正在读取master上binlog日志名。

    read_master_log_pos:正在读取master上当前binlog日志的pos点。

    slave_sql_running,执行写操作。(sql线程的工作)

    relay_master_log_file:正在同步master上的binlog日志名。

    exec_master_log_pos:正在同步当前binlog日志的pos点。

    可以以relay_master_log_file和exec_master_log_pos参数值为基准,进行重新同步,重新获取binlog,即重新change master to xxx xxx;

    其实在my.cnf中加入参数relay_log_recover=1就可以解决了。

  • 认为失误,server_id重复。

    解决办法:修改server_id,重新启动mysql即可。

  • 避免在master上执行大事物。

    例如要delete一个表中的old数据,表比较大,删除的数据量也比较大,当使用一条命令一次删除,就会产生大事物,就一下子就把slave卡死了。现象:slave的exec_master_log_pos(sql写线程)不变化,seconds_behind_master的值却越来越大,导致同步落后越来越多。

    解决办法:写一个存储过程,每次删除1000条,直至删除完成。存储过程以后完善。

    内容来源于mysql管理之道(第四章)手打。

转载于:https://blog.51cto.com/7078981/1746061

mysql主从同步故障整理相关推荐

  1. mysql data too large_MySQL数据库之mysql 主从同步故障解决   Error 'Row size too large ( 8126)....

    本文主要向大家介绍了MySQL数据库之mysql 主从同步故障解决   Error 'Row size too large (> 8126). ,通过具体的内容向大家展现,希望对大家学习MySQ ...

  2. mysql主从同步问题整理

            在从库使用show slave status\G; 查看同步状态,若出现一下问题: Could not execute Update_rows event on table ecsp. ...

  3. MYSQL主从同步故障一例及解决过程

    公司里有两个mysql服务器做主从同步,某天Nagios发来报警短信, mysqla is down ...赶紧联系机房,机房的人反馈来的信息是  HARDWARE ERROR  后面信息省略,让机房 ...

  4. mysql主从同步故障_MySQL主从同步故障

    故障现象: 进入slave服务器,运行: mysql show slave status\G ....... Relay_Log_File: localhost-relay-bin.000535 Re ...

  5. mysql数据库binlog日志截断报错,导致mysql主从同步失败故障排查

    mysql数据库binlog日志截断报错,导致mysql主从同步失败故障排查 Got fatal error 1236 from master when reading data from binar ...

  6. MySQL主从同步各类型故障总结

    主从同步故障总结 错误一 [ERROR] Slave I/O: error connecting to master 'replication@VMS00782:3306' - retry-time: ...

  7. mysql主从同步搭建和故障排除

    主从同步的定义:  是存储数据的一种结构模式. 主:被客户端访问的数据库服务器就是主库服务器master 从:连接主库服务器,自动同步主库的所有数据到本机slave 1.什么是mysql主从同步? 当 ...

  8. MySQL 主从同步percona-toolkit工具(数据一致性监测、延迟监控)使用梳理

    在mysql工作中接触最多的就是mysql replication,mysql在复制方面还是会有一些常规问题,比如主库宕机或者从库宕机有可能会导致复制中断,通常需要进行人为修复,或者很多时候需要把一个 ...

  9. mysql主从同步(3)-percona-toolkit工具(数据一致性监测、延迟监控)使用梳理

    在mysql工作中接触最多的就是mysql replication,mysql在复制方面还是会有一些常规问题,比如主库宕机或者从库宕机有可能会导致复制中断,通常需要进行人为修复,或者很多时候需要把一个 ...

最新文章

  1. 网络故障排除连载之一:常用排除方法综述
  2. python小游戏编程实例-10分钟教你用Python写一个贪吃蛇小游戏,适合练手项目
  3. Python基于nginx访问日志并统计IP访问量
  4. Java应用程序性能监视:复杂的分布式应用程序的端到端性能
  5. Cannot retrieve mapping for action
  6. java remove map_Java HashMap remove()方法
  7. 使用Red Hat OS为Amazon EC2实例安装SQL Server Linux
  8. AI 换脸冲上 GitHub TOP1,如何一键生成亲妈都不认识的自己?
  9. Python Day17 Django 03
  10. chrome浏览器设置思源黑体
  11. 常用HSQL汇总(不定时添加)
  12. CST Studio Suite 2020 安装教程
  13. 亮温模型--相关概念
  14. VNode 是什么? 什么是虚拟 DOM?
  15. Day10-软件测试用例-等价划分法与边界值法
  16. 移动安全--45--MobSF-v3.0源代码分析(一)
  17. android架构师解压密码,咕泡Java架构师第三期完整版
  18. 如何写打动人的「个人简历」
  19. 系统地和机壳GND间电容与电阻的作用
  20. 2020-12-16实现键盘控制,自动追击的猫抓老鼠小游戏

热门文章

  1. 安卓开发经常闪退的原因及解决方法
  2. 190628 - 解决新版本LastPass没有谷歌套件时打开就闪退的问题.md
  3. Linux系统中提示/usr/bin/ld: cannot find -lxxx错误的通用解决方法
  4. Promise 解决同步请求问题
  5. mysql union (all) 后order by的排序失效问题解决
  6. 解决MySQL workbench的Can‘t connect to MySQL server on ‘127.0.0.1‘(10061)问题
  7. 如何在C预处理器中可靠地检测Mac OS X,iOS,Linux,Windows? [重复]
  8. javascript在数组的开头推送元素[重复]
  9. 远程源已存在于“ git push”到新存储库中
  10. 四轮驱动(SSMR)移动机器人运动模型及应用分析