问题:No operations allowed after statement closed.

No operations allowed after statement closed.

情景: 应用端 部分数据在插入数据到数据库的时候报这个错误,其他数据正常保存数据库。
原因:使用分库分表技术,使用drds分库分表,导致下面的一个rds数据库已经满了,数据库已经锁定中(当然这个锁定是可以查数据的,也可以truncate table,delete table 等操作,但是不能进行 插入,更新,删除数据操作)

根本原因:报这个错,是数据库连接在服务端被关闭了,但是事务并没有执行完成导致的,这个是根本原因,这个根本原因没有问题,
那是什么导致数据库连接在服务端被关闭了呢,
网上查,是wait_timeout的设置导致服务端连接关闭,wait_timeout mysql默认是8小时,这个如果不改动是不会变的,也就是说一个connection空闲超过8个小时,Mysql将自动断开该connection,与mysql服务器对应的,应用使用druid连接池,也有这个配置,那么连接池的这个配置不能出现>mysql的这个值,如果大于那肯定会存在一个异常保错。
但是试过将连接池的这个参数调小,重新调应用,还是报错,排除这个原因

看了一下数据库的状态,发现drds下的一个rds数据库在锁定中,看存储已经满了,所以是磁盘满导致的数据库锁定,
数据库锁定中,导致报的这个错误,
问题: 数据库锁定后会在数据库端断开连接,导致报的这个异常????

问题:数据库分库分表,存在数据库分配不均衡如何处理,数据库数据过大如何处理???

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值