zoukankan      html  css  js  c++  java
  • 查看从库状态时发现Last_SQL_Errno: 1062(主键值重复,入库失败)

    一、 问题描述:
    查看从库状态时发现Last_SQL_Errno: 1062(主键值重复,入库失败)

    从库报错如下:

    mysql> show slave statusG
    Connection id:    23172
    Current database: mysql
    
    *************************** 1. row ***************************
                   Slave_IO_State: Waiting for master to send event
                      Master_Host: 172.18.10.121
                      Master_User: rep
                      Master_Port: 3306
                    Connect_Retry: 60
                  Master_Log_File: mysql-bin.000031
              Read_Master_Log_Pos: 958135718
                   Relay_Log_File: mysql-relay-bin.000072
                    Relay_Log_Pos: 41698212
            Relay_Master_Log_File: mysql-bin.000031
                 Slave_IO_Running: Yes
                Slave_SQL_Running: No
                  Replicate_Do_DB: 
              Replicate_Ignore_DB: information_schema,performance_schema,undolog,for_nagios,undolog,information_schema,performance_schema,undolog,for_nagios,undolog
               Replicate_Do_Table: 
           Replicate_Ignore_Table: 
          Replicate_Wild_Do_Table: 
      Replicate_Wild_Ignore_Table: information_schema.%,performance_schema.%,undolog.%,for_nagios.%,undolog.%,information_schema.%,performance_schema.%,undolog.%,for_nagios.%,undolog.%
                       Last_Errno: 1062
                       Last_Error: Error 'Duplicate entry '569' for key 'PRIMARY'' on query. Default database: 'info'. Query: 'INSERT INTO `user` (`user_id`, `exp`) VALUES ('21817642', '2021-02-15 11:29:08')'
                     Skip_Counter: 0
              Exec_Master_Log_Pos: 957119483
                  Relay_Log_Space: 42714820
                  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: 0
                    Last_IO_Error: 
                   Last_SQL_Errno: 1062
                   Last_SQL_Error: Error 'Duplicate entry '569' for key 'PRIMARY'' on query. Default database: 'info'. Query: 'INSERT INTO `user` (`user_id`, `exp`) VALUES ('21817642', '2021-02-15 11:29:08')'
      Replicate_Ignore_Server_Ids: 
                 Master_Server_Id: 1
                      Master_UUID: 03941c59-423a-11e9-ba0e-00163e0ad22c
                 Master_Info_File: mysql.slave_master_info
                        SQL_Delay: 0
              SQL_Remaining_Delay: NULL
                     Skip_Counter: 0
              Exec_Master_Log_Pos: 957119483
                  Relay_Log_Space: 42714820
                  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: 0
                    Last_IO_Error:
                   Last_SQL_Errno: 1062
                   Last_SQL_Error: Error 'Duplicate entry '569' for key 'PRIMARY'' on query. Default database: 'info'. Query: 'INSERT INTO `user` (`user_id`, `exp`) VALUES ('21817642', '2021-02-15 11:29:08')'
      Replicate_Ignore_Server_Ids:
                 Master_Server_Id: 1
                      Master_UUID: 03941c59-423a-11e9-ba0e-00163e0ad22c
                 Master_Info_File: mysql.slave_master_info
                        SQL_Delay: 0
              SQL_Remaining_Delay: NULL
          Slave_SQL_Running_State:
               Master_Retry_Count: 86400
                      Master_Bind:
          Last_IO_Error_Timestamp:
         Last_SQL_Error_Timestamp: 210115 11:29:08
                   Master_SSL_Crl:
               Master_SSL_Crlpath:
               Retrieved_Gtid_Set:
                Executed_Gtid_Set:
                    Auto_Position: 0
             Replicate_Rewrite_DB:
                     Channel_Name:
               Master_TLS_Version:
    1 row in set (0.00 sec)

    主库查询:

    mysql> select * from info.user where id = 569;
    +-----+----------+---------------------+
    | id  | user_id  | exp                 |
    +-----+----------+---------------------+
    | 569 | 21817642 | 2021-02-15 11:29:08 |
    +-----+----------+---------------------+

    # 从库查询

    mysql> select * from info.user where id = 569;
    Connection id:    23181
    Current database: mysql
    
    +-----+---------+---------------------+
    | id  | user_id | exp                 |
    +-----+---------+---------------------+
    | 569 |  515165 | 2025-12-30 00:00:00 |
    +-----+---------+---------------------+

    二、从库与主库中的数据不一致,手工将从库数据更新

    mysql> desc info.user;
    Connection id:    23183
    Current database: mysql
    +---------+----------+------+-----+-------------------+----------------+
    | Field   | Type     | Null | Key | Default           | Extra          |
    +---------+----------+------+-----+-------------------+----------------+
    | id      | int(10)  | NO   | PRI | NULL              | auto_increment |
    | user_id | int(10)  | NO   | UNI | NULL              |                |
    | exp     | datetime | NO   |     | CURRENT_TIMESTAMP |                |
    +---------+----------+------+-----+-------------------+----------------+
    
    # 将从库数据替换为和主库保持一致
    mysql> replace into info.user(id,user_id,exp) values(569,21817642,'2021-02-15 11:29:08');
    Query OK, 2 rows affected (0.00 sec)
    
    mysql> select * from info.user where id = 569;
    +-----+----------+---------------------+
    | id  | user_id  | exp                 |
    +-----+----------+---------------------+
    | 569 | 21817642 | 2021-02-15 11:29:08 |
    +-----+----------+---------------------+
    1 row in set (0.00 sec)
    
    
    三、跳过本次sql同步,再次启动主从
    stop slave;
    set global sql_slave_skip_counter=1;
    start slave;
    show slave statusG

    主库查询:
    mysql> select * from info.user where id = 569;
    +-----+----------+---------------------+
    | id  | user_id  | exp                 |
    +-----+----------+---------------------+
    | 569 | 21817642 | 2021-02-15 11:29:08 |
    +-----+----------+---------------------+


    # 从库查询
    mysql> select * from info.user where id = 569;
    Connection id:    23181
    Current database: mysql

    +-----+---------+---------------------+
    | id  | user_id | exp                 |
    +-----+---------+---------------------+
    | 569 |  515165 | 2025-12-30 00:00:00 |
    +-----+---------+---------------------+

  • 相关阅读:
    JQuery基础知识--方便忘记时查看
    关于jquery.validate.js的用法
    JQuery ajax提交表单及表单验证
    thinkphp rabc权限总结
    关于jquery ajax项目总结
    中国剩余定理及其拓展 CRT&EXGCD
    bzoj 4899 记忆的轮廓 题解(概率dp+决策单调性优化)
    bzoj3307 雨天的尾巴题解及改题过程(线段树合并+lca+树上差分)
    20190614考试心态爆炸记
    fhq Treap(无旋Treap)
  • 原文地址:https://www.cnblogs.com/reblue520/p/14282698.html
Copyright © 2011-2022 走看看