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

半世苍凉 提交于 2020-01-27 14:48:23

现场环境客户要求删数据(界面没法直接操作),于是直接在数据库进行查询删除了,删完发现界面依然能查到删除后的数据,又用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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!