Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file

错误异常

Mysql 主从配置时,我通过show slave state命令查看从数据库的情况,可以看到 Last_IO_Error字段报了错

 				  Slave_IO_State: 
                  Master_Host: 192.168.56.80
                  Master_User: repl
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000004
          Read_Master_Log_Pos: 155
               Relay_Log_File: 3e0b89196ec5-relay-bin.000001
                Relay_Log_Pos: 4
        Relay_Master_Log_File: mysql-bin.000003
             Slave_IO_Running: No
            Slave_SQL_Running: Yes
              Replicate_Do_DB: 
          Replicate_Ignore_DB: 
           Replicate_Do_Table: 
       Replicate_Ignore_Table: 
      Replicate_Wild_Do_Table: 
  Replicate_Wild_Ignore_Table: 
                   Last_Errno: 0
                   Last_Error: 
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 479
              Relay_Log_Space: 155
              Until_Condition: None
               Until_Log_File: 
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File: 
           Master_SSL_CA_Path: 
              Master_SSL_Cert: 
            Master_SSL_Cipher: 
               Master_SSL_Key: 
        Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 13114
                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'
               Last_SQL_Errno: 0
               Last_SQL_Error: 
  Replicate_Ignore_Server_Ids: 
             Master_Server_Id: 1
                  Master_UUID: 9cfa8b28-5a01-11ea-89b5-0242ac110002
             Master_Info_File: mysql.slave_master_info
                    SQL_Delay: 0
          SQL_Remaining_Delay: NULL
      Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
           Master_Retry_Count: 86400
                  Master_Bind: 
      Last_IO_Error_Timestamp: 200228 10:47:23
     Last_SQL_Error_Timestamp: 
               Master_SSL_Crl: 
           Master_SSL_Crlpath: 
           Retrieved_Gtid_Set: 
            Executed_Gtid_Set: 
                Auto_Position: 0
         Replicate_Rewrite_DB: 
                 Channel_Name: 
           Master_TLS_Version: 
       Master_public_key_path: 
        Get_master_public_key: 0
            Network_Namespace: 

解决办法:
  1. 使用show master status\G命令查看主数据库的log名称和position,例如我的是
    2. 使用
    从数据库中使用如下命令进行同步
change master to master_host='192.168.56.80', master_user='repl', master_password='123456', master_log_file='mysql-bin.000004', master_log_pos=340
  1. 如果设置完,这两个不一致
    在这里插入图片描述
    可以重启一下slave,使用 slave stop、slave reset、slave start三个命令。

可以看到

 Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.56.80
                  Master_User: repl
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: binlog.000004
          Read_Master_Log_Pos: 340
               Relay_Log_File: 3e0b89196ec5-relay-bin.000007
                Relay_Log_Pos: 548
        Relay_Master_Log_File: binlog.000004
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这是一个 MySQL 错误,表示在从二进制日志中读取数据时出现了严重错误 1236,原因是找不到二进制日志索引文件中的第一个日志文件名。建议检查日志文件和索引是否存在以及是否有读取权限,如果有必要可以尝试重建日志文件和索引。 ### 回答2: MySQL数据库出现“got fatal error 1236 from master when reading data from binary log: 'could not find first log file name in binary log index file'”这个错误,一般是由于MySQL的主从复制机制出了问题而引起的。 这个错误通常出现在MySQL主从复制过程中,因为主库的binary log文件找不到导致从库无法继续进行复制操作,从而导致复制过程被中断。 造成这种错误的原因很多,在MySQL主从复制的过程中,可能会由于网络问题、磁盘故障、权限设置不当等多种原因导致需要复制的binary log文件丢失或者找不到,从而引起这个问题的出现。 对于这个错误,可以尝试以下几种常见的解决方法: 1. 查找丢失的binary log文件和索引文件,将其复制到从库中对应的位置。 2. 检查从库的权限和配置是否正确,确保从库可以读取主库的binary log。 3. 确保MySQL版本在主从库之间一致。 4. 尝试重新启动MySQL服务,并检查MySQL日志文件是否有其他错误信息。 总的来说,出现这个错误需要仔细排查问题,找到出现问题的原因并及时解决。只有在解决了这个问题之后,才能恢复MySQL主从复制的正常运行,保证数据的正确性。 ### 回答3: 这个错误提示表明在从二进制日志中读取数据时,主服务器出现了致命错误1236,并且无法在二进制日志索引文件中找到第一个日志文件的名称。可能的原因是二进制日志索引文件已损坏或被删除,或者日志文件已被清除导致不匹配。 解决此问题的方法是: 1.检查二进制日志索引文件 运行“show binary logs”命令,查看二进制日志文件的名称和位置。查看索引文件是否存在,如果不存在,则尝试恢复或重新创建该文件。如果该文件存在,但因某些原因包含不正确或损坏的数据,则可能需要手动编辑它来更新正确的文件名称和位置。 2.查找缺失的日志文件 如果主服务器无法找到第一个日志文件的名称,则可能是因为该文件已被删除或移动。在主数据库的日志目录中检查缺失的日志文件,如果找到,请将它们移回原始位置。如果日志文件已经丢失,则可能需要从备份中恢复丢失的数据。 3.重启主服务器 有时,重启主服务器可以清除潜在的错误状态,从而解决此问题。在重启前,建议停止从服务器上的复制进程,并确保所有活动连接都已关闭。 总之,当出现“从主服务器读取二进制日志时发生致命错误1236”的错误时,您需要检查二进制日志索引文件和缺失的日志文件,并尝试修复或恢复它们,或者从备份中恢复缺失的数据。如果问题仍然存在,请重启主服务器并查看错误日志以获取更多信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值