故障复盘-MySQL故障--RO数据库挂掉

某地域RO数据库挂掉

挂掉的原因是由于A表中有duplicate key ‘id’

根因是这个表使用的引擎archive有个bug,主库自增id正常增长,但是从库持有的自增id 为1,在发生主从切换之后,从库提主,新插入的数据id从1开始增长,但是ro和备库同步的时候会认为这个输入有重复key因此报错

修复

主从库分别修改这张表的引擎

rename table api_operate_detail to api_operate_detail_bak;
create table api_operate_detail like api_operate_detail_bak;
alter table api_operate_detail engine = innodb;
INSERT INTO api_operate_detail SELECT * FROM api_operate_detail_bak WHERE createTime < '2024-09-25 10:18:52' AND createTime > '2023-09-25 10:18:52';

思考

1.MySQL5.7还是有点老了,尽量不使用archive这种较新的引擎

2.archive引擎,适用于归档场景,记录操作日志等,没有事务,响应速度比较快

参考
https://bugs.mysql.com/bug.php?id=37871

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shaohjz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值