一 前言

MySQL 的主从复制作为一项高可用特性,用于将主库的数据同步到从库,在维护主从复制数据库集群的时候,作为专职的MySQL DBA,笔者相信大多数人都会遇到“Got fatal error 1236 from master when reading data from binary log” 这类的报错/报警。本文整理了常见的几种 error 1236 报错,并给出相应的解决方法,有所不足之处,当然也希望各位读者朋友指正。

二 常见的error 1236 报错

2.1 logevent超过max_allowed_packet 大小

Got fatal error 1236 from master when reading data from binary log: 'log event entry exceeded max_allowed_packet; Increase max_allowed_packet on master; the start event position from 'mysql-bin.006730' at 290066246, the last event was read from '/u01/my3309/log/mysql-bin.006730【原因】

此类报错和max_allowed_packet相关。首先max_allowed_packet控制着主从复制过程中,一个语句产生的二进制binlog event大小,它的值必须是1024的倍数 。出现此类错误的常见原因是

1 该参数在主备库的配置大小不一样,主库的配置值大于从库的配置值。 从主库传递到备库的binlog event大小超过了主库或者备库的max_allowed_packet大小。

2 主库有大量数据写入时,比如在主库上执行 laod data,insert into .... select 语句,产生大事务。

当主库向从库传递一个比从库的max_allowed_packet 大的packet ,从库接收该packet失败,并报 “log event entry exceeded max_allowed_packet“。

【如何解决】

需要确保主备配置一样,然后尝试调大该参数的值。set global max_allowed_packet =1*1024*1024*1024;

stop slave;

start slave另外,5.6 版本中的 slave_max_allowed_packet_size 参数控制slave 可以接收的最大的packet 大小,该值通常大于而且可以覆盖 max_allowed_packet 的配置, 进而减少由于上面的问题导致主从复制中断。

2.2 slave 在主库找不到binlog文件

Got fatal error 1236 from master when reading data from binary log:

【原因】

该错误发生在从库的io进程从主库拉取日志时,发现主库的mysql_bin.index文件中第一个文件不存在。出现此类报错可能是由于你的slave 由于某种原因停止了好长一段是时间,当你重启slave 复制的时候,在主库上找不到相应的binlog ,会报此类错误。或者是由于某些设置主库上的binlog被删除了,导致从库获取不到对应的binglog file。

【如何解决】

1 为了避免数据丢失,需要重新搭建slave 。

2 注意主库binlog的清理策略,选择基于时间过期的删除方式还是基于空间利用率的删除方式。

不要使用rm -fr 命令删除binlog file,这样不会同步修改mysql_bin.index 记录的binlog 条目。在删除binlog的时候确保主库保留了从库 show slave status 的Relay_Master_Log_File对应的binlog file。

2.3 主库空间问题,日志被截断Got fatal error 1236 from master when reading data from binary log: 'binlog truncated in the middle of event; consider out of disk space on master; the start event position from 'mysql-bin.006730' at 290066434, the last event was read from '/u01/my3309/log/mysql-bin.006730 【原因】

该错误和主库的空间问题和sync_binlog配置有关,当主库 sync_binlog=N不等于1且磁盘空间满时,MySQL每写N次binary log,系统才会同步到磁盘,但是由于存储日志的磁盘空间满而导致MySQL 没有将日志完全写入磁盘,binlog event被截断。slave 读取该binlog file时就会报错"binlog truncated in the middle of event;"

当sync_binlog 的默认值是0,像操作系统刷其他文件的机制一样,MySQL不会同步到磁盘中去而是依赖操作系统来刷新binary log。

当sync_binlog =N (N>0) ,MySQL 在每写 N次 二进制日志binary log时,会使用fdatasync()函数将它的写二进制日志binary log同步到磁盘中去。

【如何解决】

在从库重新指向到主库下一个可用的binlog file 并且从binlog file初始化的位置开始

stop slave;

change master to master_log_file='mysql-bin.006731', master_log_pos=4;

start slave;

2.4 主库异常断电,从库读取错误的position

120611 20:39:38 [ERROR] Error reading packet from server: Client requested master to start replication from impossible position ( server_errno=1236)

120611 20:39:38 [ERROR] Slave I/O: Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replication from impossible position', Error_code: 1236

120611 20:39:38 [Note] Slave I/O thread exiting, read up to log 'mysql-bin.000143', position 664526789

【原因】

该问题也是和sync_binlog=N不等于1有关,多出现在主机异常crash ,比如磁盘损坏,raid 卡损坏,或者主机异常掉电导致binlog 未及时同步到磁盘。从库读取了主库binlog file中的不存在的binlog position ,一般比binlogfile 的end position 的值还要大。

【如何解决】

1 在从库重新指向到主库下一个可用的binlog file 并且从binlog file初始化的位置开始stop slave;

change master to master_log_file='mysql-bin.000144', master_log_pos=4;

start slave;2 主备库设置 sync_binlog=1,但是设置为1的时候,会带来性能下降。

三 相关阅读

2 Percona MySQL的特性 max_binlog_files

mysql error 1236_【MySQL】Got fatal error 1236原因和解决方法相关推荐

  1. 【MySQL】MySQL出现Waiting for table metadata lock的原因、解决方法

    Waiting for table metadata lock MySQL在进行alter table等DDL操作时,有时会出现Waiting for table metadata lock的等待场景 ...

  2. MySQL 查询速度慢与性能差的原因与解决方法

    MySQL 查询速度慢与性能差的原因与解决方法 更新时间:2019年09月26日 18:05:47 作者:Microtiger 随着网站数据量与访问量的增加,MySQL 查询速度慢与性能差的问题就日渐 ...

  3. 【MySQL】Got fatal error 1236原因和解决方法

    一 前言   MySQL 的主从复制作为一项高可用特性,用于将主库的数据同步到从库,在维护主从复制数据库集群的时候,作为专职的MySQL DBA,笔者相信大多数人都会遇到"Got fatal ...

  4. MySQL出现Waiting for table metadata lock的原因以及解决方法

    MySQL在进行alter table等DDL操作时,有时会出现Waiting for table metadata lock的等待场景.而且,一旦alter table TableA的操作停滞在Wa ...

  5. insmod: error inserting '***.ko': -1 Invalid parameters 真正原因以及解决方法

    原因1 :的确是你的内核版本和你Makefile制定的不一样. 这个我就不谈了 原因二:是我们在确保了内核版本和我们Makefile指定的一样的情况下: 竟然还报错 insmod: error ins ...

  6. 出现 DB2 SQL Error: SQLCODE = -798, SQLSTATE = 428C9 错误的原因及解决方法

    1 错误描述 在通过「DbVisualizer」执行 SQL 语句插入数据的时候,报出如下错误: 2 错误原因 通过观察上述标记出来的错误描述: DB2 SQL Error: SQLCODE = -7 ...

  7. mysql命令行界面出现问题,MySQL命令行界面中出现字符错误提示的原因及解决方法...

    ERROR 2019 (HY000): Can't initialize character set gb2312 搞了好半天,MySQL都重装了两次,号悲剧... 之前设置了系统编码全都是UTF-8 ...

  8. Python 技术篇-含中文编码的代码运行方法,(unicode error) ‘utf-8‘ codec can‘t decode问题原因及解决方法

    如果代码内包含中文,需要在代码开头指定下支持中文的编码格式 # -*- coding:utf-8 -*- 但需要注意的是我们保存代码的文件也是有编码格式的,需要我们文件保存的编码格式和代码内指定的编码 ...

  9. mysql只能导出65535条,Mysql报Rowsizetoolarge65535的原因及解决方法

    报错信息:Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535 ...

  10. 启动pip时,< Fatal error in launcher: Unable to create process using ‘“‘ >问题的原因及解决方法

    启动pip时,< Fatal error in launcher: Unable to create process using '"' >问题的原因及解决方法 参考文章: (1 ...

最新文章

  1. python窗口动态实时显示时间_苏州2.8寸串口屏厂家:切管机触摸屏实时动态显示切割过程...
  2. PUTTY登录树莓派Network error:Software caused connection abort
  3. 前腾讯游戏产品经理舒展:「觉」是产品最重要的维度
  4. Linux有问必答:怎么用CheckInstall从源码创建一个RPM或DEB包
  5. 浅析ThreadLocal
  6. c python 内存冲突_Python在计算内存时应该注意的问题?
  7. 11个方法,打造用户增长体系
  8. linux sudo权限_Linux Sudo 被曝漏洞,可导致用户以 root 权限运行命令
  9. 蔚来首座超充站落地苏州蔚来交付中心 已开启试运营
  10. 在Vue.js中使用Mixin
  11. 【二维码识别】基于matlab GUI 灰度+二值化+校正QR二维码识别与生成【含Matlab源码 600期】
  12. linux下如何查看二进制文件,Linux二进制文件的查看方法
  13. JAVA在线考试系统(本科毕业设计)
  14. sql 根据身份证号码计算年龄
  15. 稻盛和夫《调动员工积极性的七个关键》读书笔记
  16. 解决CentOS7下用ntpdate同步时间问题
  17. 电子邮箱格式什么样的好?什么邮箱好用?
  18. 燃烧的远征_从菜鸟通往java世界的修炼之路
  19. win7 IE64位浏览器能上网,ie,搜狗等不能上网 的解决办法
  20. ESP8266用点灯app接入小爱同学

热门文章

  1. 网络安全——kali_Linux基本命令大全
  2. Multi-modality Latent Interaction Network for Visual Question Answering阅读笔记
  3. FPGA开发板公司及产品系列
  4. 让Fireball CodeEditor控件禁止中文双倍输入
  5. (精)广东工业大学 2018实时大数据分析——A-Priori算法实验报告
  6. php 批量下载网页文件,批量下载文件(以xxx网站为例)
  7. 如何用python批量下载数据_如何基于Python批量下载音乐
  8. 寒霜朋克计算机丢失,寒霜朋克无法进入游戏解决方法 寒霜朋克无法进入游戏怎么办...
  9. 四月一个晴朗的早晨,遇见一个百分之百的女孩
  10. 【GNN报告】微软亚洲研究院郑书新:图神经网络迈入Transformer时代