mysql锁表和解锁

前言

最近用mysql数据库时,发现一张表查询不了,打不开,想着十有八九肯定时锁表了,下面记录下怎么确定是否锁表和解锁

过程
1
2
3
4
5
//1.查看当前数据库锁表的情况 
SELECT * FROM information_schema.INNODB_TRX;

//2.杀掉查询结果中锁表的trx_mysql_thread_id
kill trx_mysql_thread_id

还有一种查询锁表方法

1
2
3
4
5
6
7
8
9
10
1、查询是否锁表 
show OPEN TABLES where In_use > 0;
2、查询进程
show processlist
查询到相对应的进程 然后 kill id
补充:
查看正在锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
查看等待锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;