排查The MySQL server is running with the --read-only option问题

数据库关系型数据库技术服务知识库
问题现象

应用程序在连接 RDS MySQL 时偶发出现如下报错:

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

查看实例是否有主备切换

查看应用侧日志,找到对应的时间段内,是否发生了主备切换,为了保证主备一致性,在切换之前会将实例设置为 read only。 图片 发生主备切换的原因有很多,通常来讲有如下原因:

  1. RDS MySQL 进行预期内升级操作,此类操作会预先发送站内信,用户可以在控制台,查看运维消息部分来确认是否发生了主备切换,数据面访问有30秒以内的 IO 中断。
  2. 主实例发生故障导致主从切换。
  3. 用户手动对实例进行重启,重启操作会触发主备切换动作。用户可以在 RDS MySQL 控制台,事件中心找到此类事件的详细信息。

磁盘空间利用率100%

当磁盘写满之后,实例将进入只读状态,建议使用云监控对实例配置告警,在达到阈值,如 80% 后进行自动告警,避免由于磁盘空间利用率 100% 导致实例只读,进而造成业务损失。

总结

总的来说,应用出现 running with the --read-only option 报错,通常来说有如下两点:

  1. 实例发生主从切换,在切换过程中实例会处于短暂的 read only 状态。
  2. 实例磁盘空间利用率已经到达 100%。

如果您有其他问题,欢迎您联系火山引擎技术支持服务

95
0
0
0
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论