MySQL 数据库sql命令查询被锁的表实例演示,mysql的锁表与解锁,mysql强制解锁杀掉进程,mysql查询锁表一直转圈

2021-12-01 15:26:16 浏览数 (1)

show open tables where in_use > 0 命令可以查询锁表。 in_use1 表示这个表同时被两个用户使用,一个正在用,一个在锁定中。

代码语言:javascript复制
-- 为md_class表增加个写锁定
lock tables md_class write;
-- 查看锁表
show open tables where in_use > 0;
-- 表解锁
unlock tables;

查看锁表:

特殊情况下的锁定是线程阻塞导致的,查询锁表都查不出来,一直转圈,即使查询出也无法解锁,需要强制杀掉阻塞的线程。 select * from information_schema.innodb_trx; 方法可以查询到有两条阻塞的线程。

通过 kill trx_mysql_thread_id 可以直接把对应的进程杀掉。 例:kill 3886;

0 人点赞