The MySQL server is running with the --read-only option so it cannot execute this statement

异常原因分析

数据库进入只读状态的原因可能包括:

  1. 连接到了从库:从库通常配置为只读模式。
  2. 主库的read_only参数被设置为
  3. 其他异常情况:例如,RDS实例迁移、升级版本、HA切换都会发生连接闪断及30秒以内的只读状态,处于只读状态时程序侧就会存在The MySQL server is running with the --read-only option的报错。DMS在性能趋势中,黄色背景悬栏目 浮可看到异常事件或者是事件中心

解决方法

如果非连接从库,或者自己的开启只读,稍微等待一下就行,业务上的数据自行修复或者优化代码操作逻辑

-- (关掉新主库的只读属性)
set global read_only=0;  
flush privileges; 

-- (开启新主库的只读属性)
set global read_only=1;
flush privileges;

-- 查看状态
 SHOW GLOBAL VARIABLES LIKE 'READ_ONLY';

业务也常case

后续步骤的日志业务状态修改成功,自身修改任务状态失败卡住了——顺序不合理

对用户并发做限制,大于指定值就拒绝执行新的,对卡死有补偿逻辑,是从下游开始到上游,这里下游成功了上游失败,导致补偿逻辑失效

通过调整更新数据顺序可解决该问题(这种概率很低,写代码靠经验避免一下)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值