Lock wait timeout exceeded; try restarting transaction(mysql事务锁)


现场环境客户要求删数据(界面没法直接操作),于是直接在数据库进行查询删除了,删完发现界面依然能查到删除后的数据,又用sql语句进行删除,发现报了错:Lock wait timeout exceeded; try restarting transaction(锁等待超时)。上网查了一波发现是删除后没有提交事务造成的(当前事务在等待其它事务释放锁资源造成的)。所以在此纪录下解决方法:

方法一:在mysql查询中执行以下指令

select * from information_schema.innodb_trx,会查询到正在运行的事务

kill trx_mysql_thread_id,然后在查询中kill掉就行

方法二:修改配置文件(没尝试)

innodb_lock_wait_timeout 锁定等待时间改大

my.ini文件:

#innodb_lock_wait_timeout = 50

修改为

innodb_lock_wait_timeout = 500


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM