暂无图片
集群复制失败:日志中的键条目重复
我来答
分享
爱学习
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条回答
默认
最新
Switchblade

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

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

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

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


请输入正文
提交
相关推荐
在MySQL中,假设你正在管理一个使用InnoDB存储引擎的大型数据库,该数据库的查询性能逐渐下降。在检查数据库性能时,你注意到大量的缓冲池等待。为了提高缓冲池的效率并减少等待时间,以下哪一项操作最有可能产生积极的效果?
回答 1
已采纳
A.增加innodbbufferpoolsize参数的大小,以容纳更多的数据页。
mysql如何查看所有复合主键的表名?
回答 2
已采纳
查询mysql.indexes里面
以前学mysql经常会用到create database xxxx,但是oracle里好像不需要,为什么oracle不需要create database?
回答 4
你可以简单的理解为Oracle的database就像MySQL的实例一样,你能连进去,数据库已经创建好了。你需要做的是创建用户,同时会自动重建一个schema,这个比较像MySQL的database。
请问各位大佬,mysql数据库创建一个巡检用户,需要能查information_schema。请问应该如何授权?
回答 5
8.0无法单独授予用户informationschema权限,但有一个投机取巧的办法,就是加一个转义字符杠,绕开校验的同时又保证授权有效:GRANTSELECTONinformation\schema
mysql中的show variables可以用select语句实现相同的效果么?
回答 2
相同,只是showvariables分全局和会话。以及select可以带where条件进行分组。不是说show不能用,只是不如select写的SQL方便。
以下关于缓存的服务器配置参数描述,正确的是?
回答 1
已采纳
ABCDEFkeybuffersize:只可缓存MYISAM表的索引。被所有线程共享。 tableopencache:打开表的缓存数量。每个连接各用自己的缓存空间,类似于ORACLE的PGA
小白求解|为什么我在mysqlworkbench创建新的连接里一开始就是只读状态?
回答 1
有主键就能改。
MySQL 字符串太长,想只显示100个字, 怎么实现?
回答 3
已采纳
MySQLleft函数可以满足吧。selectleft(errormsg,6)fromtvchrocrlimit3;mysql>selectsubstr(errormsg,1,6)fromtvc
在Windows service2008 安装MySQL-8.0.19的版本出现1042的错误!
回答 2
已找到问题了,是hosts文件的设置的问题,目前已安装完成了
如何用mysql实现insert all?
回答 1
需求是什么?好给解决方案。不一定要这样做。