本文主要是介绍记一次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的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!