• Client requested master to start replication from impossible position; the last event was read from


    一:问题描述

    由于10.0.3.96此虚拟机所在的物理机存储不够了,所以上面的数据库也无法访问了。
    后来10.0.3.96可以正常访问后,其从库10.0.3.97却发生了异常:

        mysql> show slave status G;
        *************************** 1. row ***************************
                       Slave_IO_State:
                          Master_Host: 10.0.3.96
                          Master_User: admin
                          Master_Port: 3306
                        Connect_Retry: 60
                      Master_Log_File: mysql-bin.000417
                  Read_Master_Log_Pos: 228308262
                       Relay_Log_File: vhost_eip_26-relay-bin.001024
                        Relay_Log_Pos: 228308408
                Relay_Master_Log_File: mysql-bin.000417
                     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: 228308262
                      Relay_Log_Space: 228308614
                      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: NULL
        Master_SSL_Verify_Server_Cert: No
                        Last_IO_Errno: 1236
                        Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replication from impossible position; the last event was read from './mysql-bin.000417' at 228308262, the last byte read was read from './mysql-bin.000417' at 4.'
                       Last_SQL_Errno: 0
                       Last_SQL_Error:
          Replicate_Ignore_Server_Ids:
                     Master_Server_Id: 1
        1 row in set (0.01 sec)
         
         
        ERROR:
        No query specified

    经查看,该binlog文件最后一个position是228287326,没有228308262这个位置:

    # at 228287326
    #170223  3:25:08 server id 1  end_log_pos 228287353     Xid = 1951871937
    COMMIT/*!*/;
    DELIMITER ;
    # End of log file
    ROLLBACK /* added by mysqlbinlog */;
    /*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;


    二:解决办法

    从下一个文件mysql-bin.000418的起始位置开始复制。

        mysql> stop slave;
        Query OK, 0 rows affected (0.00 sec)
         
        mysql> CHANGE MASTER TO MASTER_HOST ='10.0.3.96',MASTER_LOG_FILE ='mysql-bin.000418',MASTER_LOG_POS = 4;
        Query OK, 0 rows affected (0.25 sec)
         
        mysql> start slave;
        Query OK, 0 rows affected (0.00 sec)
         
        mysql> show slave status G;
        *************************** 1. row ***************************
                       Slave_IO_State: Waiting for master to send event
                          Master_Host: 10.0.3.96
                          Master_User: admin
                          Master_Port: 3306
                        Connect_Retry: 60
                      Master_Log_File: mysql-bin.000418
                  Read_Master_Log_Pos: 107
                       Relay_Log_File: vhost_eip_26-relay-bin.000002
                        Relay_Log_Pos: 253
                Relay_Master_Log_File: mysql-bin.000418
                     Slave_IO_Running: Yes
                    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: 107
                      Relay_Log_Space: 416
                      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: 0
                        Last_IO_Error:
                       Last_SQL_Errno: 0
                       Last_SQL_Error:
          Replicate_Ignore_Server_Ids:
                     Master_Server_Id: 1
        1 row in set (0.00 sec)
         
         
        ERROR:
        No query specified
    ---------------------
    作者:雅冰石
    来源:CSDN
    原文:https://blog.csdn.net/yabingshi_tech/article/details/56841704
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    消息订阅与发布(pubsub)
    插槽的分类与使用
    axios拦截器与基本使用
    全局事件总线(GlobalEventBus)
    Django理论系列一模式分析
    Django开发系列一基本框架生成
    Jupyter基本使用
    手机防抖
    Django理论系列二登录验证
    检测轮廓 获取其最值的坐标 opencvpython
  • 原文地址:https://www.cnblogs.com/wuchangsoft/p/10375852.html
Copyright © 2020-2023  润新知