zoukankan      html  css  js  c++  java
  • MySQL 从库down机

      MySQL 从库down机中午突然down机,重启后,从库同步报主键重复的错误。

    Could not execute Write_rows event on table operation_master; Duplicate entry '93157' for key 'PRIMARY', Error_code: 1062; handler error HA_ERR_FOUND_DUPP_KEY; 
    the event's master log mysql-bin.000006, end_log_pos 930319690  

        根据报错的ID值删除,还是报主键重复。后来就直接删除大于ID的值

     主从同步报

        Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND 是主从更新时丢失数据,导致主从不一致,在从库上mysql> show slave statusG;结果如下

     根据报错信息,运行:

    /usr/bin/mysqlbinlog --no-defaults -v -v --base64-output=DECODE-ROWS mysql-bin.000006 | grep -A '10' 930324249
    

       查看是那个ID的值缺少:

    #181212 13:38:59 server id 11367  end_log_pos 930324249 CRC32 0x925f45f8     Update_rows: table id 820 flags: STMT_END_F
    ### UPDATE `wms2_db`.`doc_operation_master`
    ### WHERE
    ###   @1=93159 /* INT meta=0 nullable=0 is_null=0 */
    ###   @2='93159' /* VARSTRING(300) meta=300 nullable=0 is_null=0 */
    ###   @3=1 /* INT meta=0 nullable=0 is_null=0 */
    ###   @4=1274373 /* INT meta=0 nullable=0 is_null=0 */
    ###   @5=1 /* INT meta=0 nullable=0 is_null=0 */
    ###   @6=723 /* INT meta=0 nullable=0 is_null=0 */
    ###   @7='f0669e0b00345c6d94f7dec9de411c97' /* VARSTRING(300) meta=300 nullable=0 is_null=0 */
    ###   @8=296963 /* INT meta=0 nullable=0 is_null=0 */
    --
    # at 930324249
    #181212 13:38:59 server id 11367  end_log_pos 930324280 CRC32 0xc8ba4f28     Xid = 69359044
    COMMIT/*!*/;
    # at 930324280
    #181212 13:38:59 server id 11367  end_log_pos 930324345 CRC32 0x51de68de     Anonymous_GTID    last_committed=668830    sequence_number=668831    rbr_only=yes
    /*!50718 SET TRANSACTION ISOLATION LEVEL READ COMMITTED*//*!*/;
    SET @@SESSION.GTID_NEXT= 'ANONYMOUS'/*!*/;
    # at 930324345
    #181212 13:38:59 server id 11367  end_log_pos 930324420 CRC32 0xd7909fa2     Query    thread_id=3782053    exec_time=0    error_code=0
    SET TIMESTAMP=1544593139/*!*/;
    BEGIN

      是Id=93159的值备库缺少,接下来就是生成93159的insert语句,

        通过SQLyog工具查询这条数据,在“工具”--“导出表中所有行/结果”,选择”数据仅仅“和“SQL”,导出就可以得到需要行的insert语句

      备注: 如果是选择导出整个表,需要选择表。

                 导出查询结果,不选择表,运行查询后,就可以直接导出成insert的SQL

  • 相关阅读:
    a different object with the same identifier value was already associated with the session
    Oracle创建触发器实现主键自增
    org.hibernate.LazyInitializationException
    no appropriate service handler found The Connection descriptor used by the client was: localhost:1521:myorcl
    恶补java基础 位运算符
    Extjs Toolbar 当做弹出菜单
    解决javaWEB 下载文件中文名称乱码问题
    SpringMVC HandlerMethodArgumentResolver自定义参数转换器 针对HashMap失效的问题
    Jackson2.1.4 序列化对象时,过滤null的属性 empty的属性 default的属性
    Jackson2.1.4 序列化格式化时间
  • 原文地址:https://www.cnblogs.com/zping/p/10108702.html
Copyright © 2011-2022 走看看