Lock wait timeout exceeded解决方案

[Err] 1205 - Lock wait; try
基本原因:后提交的事务等待前面处理的事务释放锁,但是在等待的时候超过了mysql的锁等待时间,就会引发这个异常 。
1.通过到中来进行查找被锁的语句
这张数据表保存了MySQL服务器所有数据库的信息 。如数据库名,数据库的表,表栏的数据类型与访问权限等 。再简单点,这台MySQL服务器上,到底有哪些数据库、各个数据库有哪些表,每张表的字段类型是什么,各个数据库要什么权限才能访问,等等信息都保存在表里面 。
mysql 8之前的版本:
* from .;
* from .;

Lock wait timeout exceeded解决方案

文章插图
* from .;
mysql 8.0之后的版本:
* from .;
* from .;
* from .;
2.查询数据库中有锁
* from .;
记录状态为“” 即正在执行的事务,并没有锁
【Lock wait timeout exceeded解决方案】3.显示正在运行的线程
show full ;
然后找出查询语句的系统id:kill掉被锁住的线程id
kill 5