MYSQL查看表是否被锁以及解锁过程
作者:清石小猿
这篇文章主要介绍了MYSQL查看表是否被锁以及解锁过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
一、查看哪些表被锁
字段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掉就行了。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。