记一次mysql事务提交异常引发的线上问题 Could not retrieve transaction read-only status from server

 

 现象:  执行批量插入数据库时提示当前事务为只读状态,无法提交事务

原因:  代码执行到入库逻辑时,未做大批量数据的保障措施,导致一次插入数据量达到2W多条,造成数据库连接超时

    注:当前数据库wait_timeout时间为10分钟,事务开启,从数据库获取到连接,10分钟之后数据库已经主动断开事务保持的连接,事务再次操作数据库抛出异常

 

 

解决:  插入逻辑部分代码优化为分页插入,每次500条,解决当前问题

posted @ 2021-07-20 10:22  少林扫地娃  阅读(744)  评论(0)    收藏  举报