Mysql-Lock-1205

Mysql 报错1205 Lock wait timeout

参考:https://blog.csdn.net/weixin_42425970/article/details/90551050

问题出现的主要原因是:Mysql的 InnoDB存储引擎是支持事务的,事务开启后没有被主动Commit,导致该资源被长期占用,其他事务在抢占该资源时,因上一个事务的锁而导致抢占失败!因此出现 Lock wait timeout exceeded。
而有的时候show processlist,找不到对应的线程ID,使用下述方式解决。

解决方法一

重启Mysql服务

解决方式二(推荐使用)

执行以下SQL语句:查看事物表,找出被锁线程的id

select * from information_schema.innodb_trx;

执行结果

看看当前是否有未结束的事务,如果有,用 kill {trx_mysql_thread_id} 命令将事务杀死。比如:

kill 536
Contents
  1. 1. Mysql 报错1205 Lock wait timeout
    1. 1.1. 解决方法一
    2. 1.2. 解决方式二(推荐使用)
|