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

2021/7/20 19:40:17

本文主要是介绍记一次mysql事务提交异常引发的线上问题 Could not retrieve transaction read-only status from server,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 

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

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

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

 

 

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



这篇关于记一次mysql事务提交异常引发的线上问题 Could not retrieve transaction read-only status from server的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程