一:查看哪些表被锁,字段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掉就行了。
发表评论