zoukankan      html  css  js  c++  java
  • 关于MySQL的slave同步状态中出现Slave_IO_Running: NO错误解决记录

    mysql搭建主从同步以后,出现如下错误:

    Last_IO_Errno: 1236
    Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file'

    解决思路如下:

    原因1:清理数据导致主从库不同步(前提是主库的binlog日志没有被暴力删除或错误删除,即要确保正在使用的那个最新binlog文件在master主库机器上存在)。
    解决办法:
    1)先进入slave中执行:"slave stop;"来停止从库同步;
    2)再去master中执行:"flush logs;"来清空日志;
    3)然后在master中执行:"show master status;"查看下主库的状态,主要是日志的文件和position;
    4)然后回到slave中,执行:"CHANGE MASTER TO ......执行同步指令
      
    原因2:该错误发生在从库的io进程从主库拉取日志时,发现主库的mysql_bin.index文件中第一个文件不存在。出现此类报错可能是由于你的slave 由于某种原因停止了好长一段
    时间,当你重启slave 复制的时候,在主库上找不到相应的binlog ,会报此类错误。或者是由于某些设置主库上的binlog被删除了,导致从库获取不到对应的binglog file。
    解决办法:
    1)为了避免数据丢失,需要重新进行slave同步操作。
    2)注意主库binlog的清理策略,选择基于时间过期的删除方式还是基于空间利用率的删除方式。
    3)记住最好不要使用"rm -rf"命令删除binlog file,这样不会同步修改mysql_bin.index 记录的binlog 条目。在删除binlog的时候确保主库保留了从库"show slave status"
      的Relay_Master_Log_File对应的binlog file。任何时候都不能删除正在使用的那个最新binlog文件;最好把bin-log文件不要删除,最好给备份出来。  
    
    原因2的情况下,使用原因1的处理方案显然是解决不了的!此时的解决方案: 在从库上执行: mysql
    > stop slave; mysql> reset slave; mysql> start slave; mysql> show slave status G;

    感谢 散尽浮华大佬的技术文档支持。全文链接如下,侵联删。

    方法来源:https://www.cnblogs.com/kevingrace/p/6261111.html

  • 相关阅读:
    Eclipse中jsp、js文件编辑时,卡死现象解决汇总
    环境安装备忘录 Nginx
    环境安装备忘录 Redis redis-slave-端口号.conf
    环境安装备忘录 Redis redis-common.conf
    环境安装备忘录 Redis
    Leetcode 131 Palindrome Partitioning(DFS思路)
    排序算法之快速排序(Quick Sort) -- 适用于Leetcode 75 Sort Colors
    谈STL的重要应用与实现
    二分图匹配相关问题
    理解操作系统相关知识
  • 原文地址:https://www.cnblogs.com/non2019/p/15147476.html
Copyright © 2011-2022 走看看