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

posted @ 2019-06-10 16:14  海岛拾贝  阅读(3264)  评论(2编辑  收藏  举报