com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Lock wait timeout exceeded暂时解决

网上的建议都是去查出占用的事务ID然后kill掉,但也不可能天天蹲在服务器前杀进程啊,暂时先加大锁的等待时间,让事务能提交上去,久是久了点,后面再找方法排查解决吧,附上设置超时时间设置;有mysql的版本限制,不能sql直接修改的需要去修改mysql配置文件,重启数据库

1.查看当前锁超时时间

show variables like 'innodb_lock_wait_timeout';

2.查看全局锁超时时间

SHOW GLOBAL VARIABLES LIKE 'innodb_lock_wait_timeout';

3.更改当前锁超时时间为120秒

SET innodb_lock_wait_timeout=120;

4.更改全局锁超时时间为120秒

SET GLOBAL innodb_lock_wait_timeout=120;

 

后序:

经过排查,是某个存储过程一直在跑,一直在提交事务,修改存储过程逻辑。观察一段时间,不会再出现事务超时的情况了。

你可能感兴趣的:(com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Lock wait timeout exceeded暂时解决)