查看锁表线程
使用下面的命令查看哪个表被锁了:
show open tables where in_use>0;
+----------+-------+--------+-------------+
| Database | Table | In_use | Name_locked |
+------------------+--------+-------------+
| test | t_user | 0 | 0 |
| test | t_role | 4 | 0 |
In_use
表示有多少线程正在使用该表,这些线程有可能已经给该表加锁,或者正在等待或得锁给该表加锁Name_locked
是否表名称被锁定,表名称被锁定一般发生在rename table时。
结合show processlist
可查看哪个线程锁表了:
show processlist;
kill the_id