温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何解决MySQL中错误代码:1032的问题

发布时间:2021-09-28 13:55:08 来源:亿速云 阅读:277 作者:柒染 栏目:MySQL数据库

这篇文章给大家介绍如何解决MySQL中错误代码:1032的问题,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

在网上查看解决办法 先stop slave,然后从新change  master到报错位置。然后start slave

===============================================
stop slave ;
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000521', MASTER_LOG_POS=869528465;
start slave;
show slave status;

===============================================
出现这种问题,判断是主从同步不一致问题。建议使用 percona-toolkit。
下面是实验步骤。

实验环境:
master:192.168.162.168
slave:192.168.162.167

  1. 操作
    master:
    MariaDB [test]> create table test (id int(10),name varchar(20),city varchar(30));
    MariaDB [test]> insert into test (id,name,city) values (1,'aaa','aaa'),(2,'bbb','bbb'),(3,'ccc','ccc');
    slave:
    MariaDB [test]> select * from test;
    +------+------+------+
    | id   | name | city |
    +------+------+------+
    |    1 | aaa  | aaa  |
    |    2 | bbb  | bbb  |
    |    3 | ccc  | ccc  |
    +------+------+------+

MariaDB [test]> delete from test where id =1;

master:
update test set name='abb' where id=1;
slave: 报错如下图:

如何解决MySQL中错误代码:1032的问题

方法1:

 MariaDB [test]> stop slave ;
MariaDB [test]> CHANGE MASTER TO MASTER_HOST='192.168.162.168',MASTER_USER='repl',MASTER_PASSWORD='123456',MASTER_PORT=3306,MASTER_LOG_FILE='mysql-bin.000646',MASTER_LOG_POS=1801;
MariaDB [test]> start slave;

如何解决MySQL中错误代码:1032的问题

但是查询数据,表面主从一致,实际还是差数据。
master:
如何解决MySQL中错误代码:1032的问题
slave:
如何解决MySQL中错误代码:1032的问题

方法2:
环境准备:
如何解决MySQL中错误代码:1032的问题

解决:使用强悍的瑞士×××percona-toolkit 工具 'pt-table-checksum','pt-table-sync'
注:这两个工具都是在Master上执行。
master:

pt-table-checksum --nocheck-replication-filters --databases=test --replicate=test.checksums --create-replicate-table --no-check-binlog-format --host=192.168.162.168 --port 3306 -uyang -p123456

--host=master_ip  
--port mysql端口
--databases=test  问题数据库
--replicate= 在Master的test库上创建记录主从同步出现问题的表
--create-replicate-table            
--no-check-binlog-format        不检查复制的binlog模式,要是binlog模式是ROW,则会报错。
--nocheck-replication-filters    不检查复制过滤器,建议启用。后面可以用--databases来指定需要检查的数据库。

出现主从不同步后,直接使用工具 'pt-table-checksum':
如何解决MySQL中错误代码:1032的问题
提示主从同步停了,等待主从同步开启。
使用'pt-table-sync' 工具:
如何解决MySQL中错误代码:1032的问题

依然提示主从同步已关闭。
那我们开启,借鉴方法1开启主从同步。
slave:
如何解决MySQL中错误代码:1032的问题

嗯主从依然不一致。
现在使用pt工具解决。

Master:
如何解决MySQL中错误代码:1032的问题
目标出来了,发现主从同步不一致,并且记录到表中。
Master:

pt-table-sync --replicate=test.checksums --databases=test h=192.168.162.168,u=yang,p=123456 h=192.168.162.167,u=yang,p=123456 --print
pt-table-sync --replicate=test.checksums --databases=test h=192.168.162.168,u=yang,p=123456 h=192.168.162.167,u=yang,p=123456 --execute

如何解决MySQL中错误代码:1032的问题

如何解决MySQL中错误代码:1032的问题

如何解决MySQL中错误代码:1032的问题

问题解决!

关于如何解决MySQL中错误代码:1032的问题就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI