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

show OPEN TABLES where In_use > 0;

查看mysql数据库锁 mysql 查锁_查看mysql数据库锁

查看mysql数据库锁 mysql 查锁_mysql_02

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

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

show processlist;

查看mysql数据库锁 mysql 查锁_数据库_03

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

kill id

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