暂无图片
集群复制失败:日志中的键条目重复
我来答
分享
爱学习
2023-08-19
集群复制失败:日志中的键条目重复

我正在尝试使用 mysqlsh 命令将实例添加到集群集中:

dba.get_cluster().add_instance("cluster@10.0.0.90:3306", {"ipAllowlist": "10.0.0.0/24"})

然后看到错误

WARNING: Error in applier for group_replication_recovery: Worker 1 failed executing transaction '8873cb64-e90a-11ec-96fa-180373f152e2:10483' at source log binlog.004306, end_log_pos 278669;

Could not execute Write_rows event on table db_production.sessions;

Duplicate entry '63722726' for key 'sessions.PRIMARY', Error_code: 1062; handler error HA_ERR_FOUND_DUPP_KEY; the event's source log binlog.004306, end_log_pos 278669 (1062) at 2023-08-18 17:08:38.444870

delete from sessions where id = 63722726我尝试使用;删除表中的项目 但这没有什么区别。

我还尝试使用该实用程序查找重复项mysqlbinlog:

mysqlbinlog --read-from-remote-server -h 10.0.0.90 -u cluster -p binlog.004306 --verbose --base64-output=DECODE-ROWS | grep -A10 -B10 278669

然而,除了“是”之外,我没有看到任何突出的东西。有一行 id = 63722726。

这最初是由 ubuntu 无人值守更新引起的,将其中一个系统上的 mysql 版本从 8.0.33 更新到 8.0.44,导致版本不匹配并中断。

我不期待我认为可能的解决方案,即在十六进制编辑器中手动编辑二进制日志。:(

有没有人见过这个问题,如何解决?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
库海无涯

需要对应看下这个pos点的事务,报错日志是主键冲突,可以使用跳过,或者在表中对比数据,然后处理

暂无图片 评论
暂无图片 有用 3
打赏 0
暂无图片
Thomas

推测可能是把外国人的提问,用AI翻译过来的。因为发帖者并不是问题的原始发现者,所以很难把问题以比较通晓直白的语言表达出来,这也给回答者带来了理解上的困难。

暂无图片 评论
暂无图片 有用 1
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
MySQL Enterprise Monitor 8.0版本能监控mysql5.7版本吗?
回答 1
已采纳
支持5.7和8
MySQL limit Integer.MAX_VALUE会有性能影响吗?
回答 1
基本不会
MySQL处理多对多关系,中间表和JSON哪种方法比较好?
回答 1
已采纳
你的意思是A和B两个表关联然后join吗?如果是就关联就好了。只要你where条件过滤的好,返回数量合理。没有问题。不要一下返回几万,几十万。
MySQL报错:1209:The MySQL server is running with the skip grant tables option so it cannot execute this statement
回答 3
这个应该是你启动时候跳过授权表了。通常是忘记了管理员密码了,这样进来改密码时候用的。但是这种情况下,你只能维护user表。不能做其他的。所以你要改好密码去掉参数文件的skipgranttables。重
MYBINLOG 工具可以挖掘出 纯文本的SQL吗?
回答 1
已采纳
mysqlbinlog可以的,如果是行模式,要mysqlbinlognodefaultsmysqlbin.000001base64outputDECODEROWSv
MySQL 关闭binlog 主从是不是也受影响?
回答 3
mysql主从基于主库的binlog复制,没有binlog当然主从就不同步了。
alert日志内容:COMMIT_WRITE is deprecated,use COMMIT_LOGGING and COMMIT_WAIT instead
回答 1
–将参数reset,即可从spfile中删除,可避免提示altersystemresetcommitwrite;
MySQL中的一个表按照一个用户ID字段区分,只想查询某个ID所拥有的数据,是不是直接添加普通索引就行?
回答 1
已采纳
要看你这个表中用户id的区分度如何,如果 用户id区分度很低。那么就不需要创建索引。如果区分度好。就创建索引
MySQL里多表join中MySQL里用到的方式有哪些?
回答 5
8.0前没有Ahashjoin8.0后有的B BatchedKeyAccessC IndexNestedLoopJoinD BlockNestedLoopE N
锁定 FOR UPDATE 是否允许通过 MySQL 中的另一个连接来执行简单的 SELECT 语句?
回答 1
已采纳
可以。