数据库提示连接池满了的原因

数据库提示连接池满了的原因

日志显示:
INFO util.DBExecActQueueRepository: Jdbc max num is: 200, active num is arriving: 195
原因是因为数据库的连接池满了。
数据库提示连接池满了的原因_第1张图片
maxActive:最大连接数据库连接数,设置成 0 为没有限制
maxIdle:最大等待连接中的数量,设置成0 为没有限制
maxWait:最大等待毫秒数, 单位为 ms, 超过时间会出错误信息
一般把maxActive设置成可能的并发量就可以,这里是因为设置的数值为200,所以最多能有200个数据库连接,但是200在我当前的环境已经够用了,为什么连接池还是会满呢?

通常情况下,锁表也会导致数据库连接池满,这个时候就需要查看被锁的表了
查询Mysql 哪些表正在被锁状态
 方法1: show OPEN TABLES where In_use > 0;
 方法2: **SHOW PROCESSLIST;**查看数据库中表的状态,是否被锁

解锁锁定的表
 kill id

你可能感兴趣的:(MySQL)