Mysql事物锁等待超时 Lock wait timeout exceeded; try restarting transaction

Mysql事物锁等待超时 Lock wait timeout exceeded; try restarting transaction

在修改测试数据库数据的时候,执行之后没成功,弹出Lock wait timeout exceeded; try restarting transaction.

原因分析:

1. 在事务内同时进行操作,比如查询和更新;

2. 同时有多个节点操作同一数据库;

3. 并发高的时候;

4. mysql的默认innodb_lock_wait_timeout为50秒;

可以在mysql下执行 show variables like ‘innodb_lock_wait_timeout’ 进行查看默认值.

因为默认时间为50秒,所以当锁的时间超过50秒,就会报错.

解决:

1. 执行 select * from information_schema.innodb_trx

2. 得到结果

在这里插入图片描述

kill 520372;

kill掉框出来的这个值即可解决.

猜你喜欢

转载自blog.csdn.net/weixin_44974020/article/details/107226782