一:查看哪些表被锁,字段In_use表示有多少线程在使用这张表,字段name_locked表示表格是否被锁,0代表锁定状态

show OPEN TABLES where In_use > 0;

 二:显示正在运行的进程(默认前一百条)

        1:字段“db”代表数据库名,字段“info”代表正在执行的sql,字段“Command”代表当前的状态

show processlist;

 三:对比“info”字段,找出正在执行,导致一直锁表的语句,取“id”字段值,执行下面sql,删除进程

kill id

四:执行完毕,重复执行“show OPEN TABLES where In_use > 0;”sql语句,检查锁定的表是否已经没有,没有就是已经解锁了,还有的话,说明还有其它进程在对表进行操作,执行“show processlist;”继续查找,然后kill掉就行了。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐