tomcat中抛出异常:
com.mysql.jdbc.exceptions.MySQLTransactionRollbackException: Deadlock found when trying to get lock; try restarting
请问这是什么问题?该如何解决?谢谢......
------解决方案--------------------------------------------------------
检查Connection是否重复关闭。最大可能就是关闭连接后有去执行关闭操作!
------解决方案--------------------------------------------------------
Deadlock found when trying to get lock;
,在InnoDB引擎上,当同一条记录上的锁深度(个数)超过LOCK_MAX_DEPTH_IN_DEADLOCK_CHECK(代码中这个常量值为200)或锁开销大于LOCK_MAX_N_STEPS_IN_DEADLOCK_CHECK(代码中这个常量值为1000000)时,MySQL会给出“TOO DEEP OR LONG SEARCH IN THE LOCK TABLE WAITS-FOR GRAPH”信息,并放弃所有的锁检测,直接报“Deadlock found when trying to get lock”错误
MySQL 5.1.X中,提供了新的锁模式,对于简单的取自增值insert语句,只在获得auto_increment值的时候对自增计数器加上一个轻量级的 X lock,而非表级锁,并且在得到auto_increment值后就立即释放了,而不是等到insert语句执行完才释放
设置 innodb_autoinc_lock_mode=0 沿用表级auto-inc锁
设置 innodb_autoinc_lock_mode=1 使用新的计数器级auto-inc锁
从网上找的哦
------解决方案--------------------------------------------------------
在InnoDB引擎上,当同一条记录上的锁深度(个数)超过LOCK_MAX_DEPTH_IN_DEADLOCK_CHECK(代码中这个常量值为200)或锁开销大于LOCK_MAX_N_STEPS_IN_DEADLOCK_CHECK(代码中这个常量值为1000000)时,MySQL会给出“TOO DEEP OR LONG SEARCH IN THE LOCK TABLE WAITS-FOR GRAPH”信息,并放弃所有的锁检测,直接报“Deadlock found when trying to get lock”错误
MySQL 5.1.X中,提供了新的锁模式,对于简单的取自增值insert语句,只在获得auto_increment值的时候对自增计数器加上一个轻量级的 X lock,而非表级锁,并且在得到auto_increment值后就立即释放了,而不是等到insert语句执行完才释放
设置 innodb_autoinc_lock_mode=0 沿用表级auto-inc锁
设置 innodb_autoinc_lock_mode=1 使用新的计数器级auto-inc锁
------解决方案--------------------------------------------------------
这个还真不知道哦,楼上都从网上找了,应该就是了吧!