返回顶部
首页 > 资讯 > 数据库 >3分钟解决MySQL 1032 主从错误
  • 171
分享到

3分钟解决MySQL 1032 主从错误

主从错误MySQL 2023-01-31 07:01:52 171人浏览 薄情痞子
摘要

3分钟解决Mysql 1032主从错误Part1:写在最前1032错误----现在生产库中好多数据,在从库误删了,生产库更新后找不到了,现在主从不同步了,再跳过错误也没用,因为没这条,再更新还会报错解决方案Part1:临时方案mysql&g


wKioL1gapS3yFcPpAAA4eVx2Dz8496.jpg

3分钟解决Mysql 1032主从错误

Part1:写在最前

1032错误----现在生产库中好多数据,在从库误删了,生产库更新后找不到了,现在主从不同步了,再跳过错误也没用,因为没这条,再更新还会报错


解决方案

Part1:临时方案

mysql> stop slave;
Query OK, 0 rows
affected (0.00 sec)
 
mysql> set global sql_slave_skip_counter=1;
Query OK, 0 rows
affected (0.00 sec)
 
mysql> start slave;
Query OK, 0 rows
affected (0.00 sec)


Part2:永久方案


end_log_pos 有了它,根据pos值,直接就能找到,找到delete那条数据,反做(变成insert)






故障模拟



HE1从库误删

mysql> delete from helei where id=3;
Query OK, 1 row
affected (0.29 sec)
 
mysql> select * from helei;
+----+------+
| id | text |
+----+------+
|  1 | aa  
|
|  2 | bb  
|
|  4 | ee  
|
|  5 | ff  
|
|  6 | gg  
|
|  7 | hh  
|
+----+------+
6 rows in set (0.00
sec)
 
mysql> show slave status\G;
***************************
1. row ***************************
               Slave_io_State: Waiting for
master to send event
                  Master_Host: 192.168.1.250
                  Master_User: mysync
                  Master_Port: 2503306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000005
          Read_Master_Log_Pos: 3711
               Relay_Log_File:
HE1-relay-bin.000007
                Relay_Log_Pos: 484
        Relay_Master_Log_File: mysql-bin.000005
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes

此时从库状态是正常的,但一旦主库对该条记录进行操作

 

 

HE3主库更新从库刚刚误删的数据

mysql> update helei set text='ccc' where id=3;
Query OK, 1 row
affected (0.01 sec)
Rows matched: 1  Changed: 1 
Warnings: 0
 
mysql> select * from helei;
+----+------+
| id | text |
+----+------+
|  1 | aa  
|
|  2 | bb  
|
|  3 | ccc 
|
|  4 | ee  
|
|  5 | ff  
|
|  6 | gg  
|
|  7 | hh  
|
+----+------+
7 rows in set (0.00
sec)

HE1从库报错

mysql> show slave status\G;
***************************
1. row ***************************
               Slave_IO_State: Waiting for
master to send event
                  Master_Host: 192.168.1.250
                  Master_User: mysync
                  Master_Port: 2503306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000005
          Read_Master_Log_Pos: 3918
               Relay_Log_File:
HE1-relay-bin.000007
                Relay_Log_Pos: 484
        Relay_Master_Log_File: mysql-bin.000005
             Slave_IO_Running: Yes
            Slave_SQL_Running: No
              Replicate_Do_DB:
          Replicate_Ignore_DB:
           Replicate_Do_Table:
       Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
                   Last_Errno: 1032
                   Last_Error: Could not
execute Update_rows event on table test.helei; Can't find record in 'helei',
Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event's master log
mysql-bin.000005, end_log_pos 3887
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 3711
              Relay_Log_Space: 1626
              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: 1032
              
Last_SQL_Error: Could not execute Update_rows event on table test.helei;
Can't find record in 'helei', Error_code: 1032; handler error
HA_ERR_KEY_NOT_FOUND; the event's master log mysql-bin.000005, end_log_pos 3887(这个mysql-bin.000005,end_log_pos
3887是主库的)
  Replicate_Ignore_Server_Ids:
             Master_Server_Id: 2503306
                  Master_UUID:
f7c96432-f665-11e5-943f-000c2967a454
             Master_Info_File:
/data/mysql/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: 160331 09:25:02
               Master_SSL_Crl:
           Master_SSL_Crlpath:
           Retrieved_Gtid_Set:
            Executed_Gtid_Set:
                Auto_Position: 0
1 row in set (0.00
sec)

 

 

此时主从又不同步了,如果还去执行跳过错误操作,主从恢复同步,而且状态均为yes,但!这并不能解决该问题,如果主库又更新该条记录,那么还是会报相同错误,而且pos号还会变,这就导致了恢复时你不知道前一条的pos号,导致丢失数据。

mysql> stop slave;
Query OK, 0 rows
affected (0.00 sec)
 
mysql> set global sql_slave_skip_counter=1;
Query OK, 0 rows
affected (0.00 sec)
 
mysql> start slave;
Query OK, 0 rows
affected (0.00 sec)
 
mysql> select * from helei;
+----+--------+
| id | text   |
+----+--------+
|  1 | aa    
|
|  2 | bb    
|
|  4 | ee    
|
|  5 | ff    
|
|  6 | gg    
|
|  7 | hh    
|
|  8 | helei1 |
+----+--------+
7 rows in set (0.00 sec)
 
mysql> show slave status\G;
***************************
1. row ***************************
               Slave_IO_State: Waiting for
master to send event
                  Master_Host: 192.168.1.250
                  Master_User: mysync
                  Master_Port: 2503306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000005
          Read_Master_Log_Pos: 4119
               Relay_Log_File:
HE1-relay-bin.000008
                Relay_Log_Pos: 283
        Relay_Master_Log_File: mysql-bin.000005
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes


 

这里虽然通过跳过错误达到恢复主从同步,但如果主库又对该条记录更新

mysql> update helei set text='cccc' where id=3;
Query OK, 1 row
affected (0.00 sec)
mysql> show slave status\G;
***************************
1. row ***************************
               Slave_IO_State: Waiting for
master to send event
                  Master_Host: 192.168.1.250
                  Master_User: mysync
                  Master_Port: 2503306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000005
          Read_Master_Log_Pos: 4328
               Relay_Log_File:
HE1-relay-bin.000008
                Relay_Log_Pos: 283
        Relay_Master_Log_File: mysql-bin.000005
             Slave_IO_Running: Yes
           
Slave_SQL_Running: No
              Replicate_Do_DB:
          Replicate_Ignore_DB:
           Replicate_Do_Table:
       Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
                  
Last_Errno: 1032
                  
Last_Error: Could not execute Update_rows event on table test.helei;
Can't find record in 'helei', Error_code: 1032; handler error
HA_ERR_KEY_NOT_FOUND; the event's master log mysql-bin.000005, end_log_pos 4297
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 4119
              Relay_Log_Space: 1435
              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: 1032
              
Last_SQL_Error: Could not execute Update_rows event on table test.helei;
Can't find record in 'helei', Error_code: 1032; handler error
HA_ERR_KEY_NOT_FOUND; the event's master log mysql-bin.000005, end_log_pos 4297
  Replicate_Ignore_Server_Ids:
             Master_Server_Id: 2503306
                  Master_UUID:
f7c96432-f665-11e5-943f-000c2967a454
             Master_Info_File:
/data/mysql/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: 160331 09:33:34
               Master_SSL_Crl:
           Master_SSL_Crlpath:
           Retrieved_Gtid_Set:
            Executed_Gtid_Set:
                Auto_Position: 0

 

 

 

 


您可能感兴趣的文档:

--结束END--

本文标题: 3分钟解决MySQL 1032 主从错误

本文链接: https://lsjlt.com/news/191997.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 3分钟解决MySQL 1032 主从错误
    3分钟解决MySQL 1032主从错误Part1:写在最前1032错误----现在生产库中好多数据,在从库误删了,生产库更新后找不到了,现在主从不同步了,再跳过错误也没用,因为没这条,再更新还会报错解决方案Part1:临时方案mysql&g...
    99+
    2023-01-31
    主从 错误 MySQL
  • 3分钟解决MySQL 1864 主从错误
        从字面意思看了一下是因为slave_pending_jobs_size_max默认值为16777216(16MB),但是slave接收到的slave_pending_jobs_size_max为17085453(17M);解决方案从...
    99+
    2023-01-31
    主从 错误 MySQL
  • 3分钟解决MySQL 1062 主从错误
    1062错误----主键冲突,出现这种情况就是从库出现插入操作,主库又重新来了一遍,iothread没问题,sqlthread出错解决方案:mysql> stop slave;   mysql> set global sql_s...
    99+
    2023-01-31
    主从 错误 MySQL
  • 3分钟解决MySQL主从1594错误
    3分钟解决MySQL主从1594错误简介Part1:写在最前1594这个错误看起来挺严重的,会提示你binlog文件或者Relay log损坏了,例如binary log is corrupted、relay log is corrupte...
    99+
    2023-01-31
    主从 错误 MySQL
  • mysql主从同步错误Last_SQL_Errno: 1032处理分析
    在MySQL DBA 日常运维工作中,主从同步失败一定是会遇到的,最常见建是1032错误。 ...
    99+
    2024-04-02
  • 如何解决MySQL中错误代码:1032的问题
    这篇文章给大家介绍如何解决MySQL中错误代码:1032的问题,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在网上查看解决办法 先stop slave,然后从新change  ...
    99+
    2024-04-02
  • MySQL主从复制错误如何解决
    MySQL主从复制错误如何解决,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。| 背景有客户咨询说,自己的从库show slave status...
    99+
    2024-04-02
  • mysql主从跳过错误的示例分析
    小编给大家分享一下mysql主从跳过错误的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!非gtid:stop slave...
    99+
    2024-04-02
  • MySQL 主从复制错误1837
    MySQL5.6.37版本,某人在测试环境主库误操作执行删表操作,导致主从断开,在从库查看主从信息如下: Last_Errno: 1837 Last_Error: Worker 3 failed execu...
    99+
    2024-04-02
  • 3分钟了解Mysql空间搜GeoHash
    简单介绍:   Mysql 内置函数方案,适合于已有业务,新增加LBS功能,增加经纬度字段方可,避免数据迁移,在5.7.5后实现更多功能实现INNODB的空间搜方法,之前版本主要是对MYISAM的支持。    在此之前,InnoDB将几何数...
    99+
    2023-01-31
    空间 Mysql GeoHash
  • mysql主键1068错误怎么解决
    mysql主键1068错误怎么解决:1、删除主键;2、输入代码,点击执行,删除原有主键,然后进行主键操作。通常mysql主键出现1068错误的原因:是因为主键一旦被定义,就无法再进行更改,直接修改主键属性会被看作定义第二个主键,从而导致出错...
    99+
    2024-04-02
  • MySQL 5.6主从报错分析
    本篇内容主要讲解“MySQL 5.6主从报错分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL 5.6主从报错分析”吧!1. 问题现象版本:MySQL 5.6,采用传统 binlog ...
    99+
    2023-06-14
  • mysql主从复制跳过复制错误
    跳过复制错误mysql因为binlog机制问题,有些时候会出现从库重放sql执行失败的情况,特别是旧的STATEMENT模式最容易出现这种情况(因为函数和存储过程等原因),这也是为什么强调使用mixed和r...
    99+
    2024-04-02
  • mysql主从同步怎么跳过错误
    这篇文章给大家分享的是有关mysql主从同步怎么跳过错误的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。mysql主从同步跳过错误的方法:1、跳过指定数量的事务,代码为【mysql...
    99+
    2024-04-02
  • redis主从连接不成功错误问题及解决
    目录Redis主从连接不成功错误问题出现了最后找到了解决方法总结redis主从连接不成功错误 安装完redis后,设置主从,在从服务器上运行 127.0.0.1:6379> slaveof 192.168.159....
    99+
    2024-01-29
    redis主从 redis主从连接 redis主从连接不成功
  • 怎么解决mysql主从复制报错问题
    这篇文章主要介绍“怎么解决mysql主从复制报错问题”,在日常操作中,相信很多人在怎么解决mysql主从复制报错问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么解决my...
    99+
    2024-04-02
  • 分分钟搭建MySQL一主多从环境(r12笔记第31天)
       之前写过一篇分分钟搭建MySQL Group Replication的测试环境,如果我们在一台服务器上想搭建一主多从的测试环境,怎么能够分分钟搞定呢,其实稍花点时间写个脚本即可...
    99+
    2024-04-02
  • MySQL主从同步常见报错的解决办法
    数据库主从同步的时候有两个线程:IO线程和SQL线程。常见的报错时围绕这两个线程出现的。 IO线程:把主库binlog日志的内容记录到本机的中继日志文件里。IO线程报错的原因有两个,第一是指定主库信息时参...
    99+
    2024-04-02
  • 1分钟解决github push/pull报错443
    打开https://www.ipaddress.com/ 复制如图IP地址 文件夹打开C:\Windows\System32\drivers\etc,复制hosts文件,粘贴到桌面 在桌面用记事本打...
    99+
    2023-09-08
    github 443 git
  • MySQL主从延迟问题解决
    今天我们就来看看为什么会产生主从延迟以及主从延迟如何处理等相关问题。 坐好了,准备发车! 主从常见架构 随着日益增长的访问量,单台数据库的应接能力已经捉襟见肘。因此采用主库写数据,从库读数据这种将读写分离开的主从...
    99+
    2022-05-11
    mysql 主从 mysql 主从延迟 mysql 主从延迟解决
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作