Mysql查看和解锁被锁定的表(mysql查看被锁表)
Mysql是当前常用的关系型数据库,但是在操作这种数据库的过程中也会遇到被锁定的表,这也是很常见的问题。本文将介绍如何查看和解锁被mysql锁定的表。
通常来讲,数据库中的表是在执行查询或者操作时会被锁定,以保证在操作过程中数据的一致性。因此,我们要查看数据库中被锁定的表,首先要查看哪些表被锁定,可以执行下面的命令:
\> show tables where engine= “Innodb” and is_locked=”yes”;
该命令会返回所有被锁定的表,比如:
+—————-+
| Tables_in_database |
+—————-+
| Locked_Table |
+—————-+
上面就是数据库中被锁定的表名,然后可以用下面的命令来查看被锁定的表是哪个会话被锁定的:
\> show full processlist;
该命令会返回所有当前运行的进程,比如:
+———+———–+———+——–+———+——–+——–+
| Id | User | Host | db | Command | state| time |
+———+———–+———+——–+———+——–+——–+
| 10 | query_user | 192.168.1.1 |db_name | Query |Locked | 300s |
+———+———–+———+——–+———+——–+——–+
结果中表示,表 Locked_Table 是由 query_user 这个会话锁定的,那么就可以知道被锁定的表是哪个会话锁定的。
知道了被锁定的表是哪个会话锁定的,接下来就可以解锁该表了,可以用如下操作来解锁:
\> kill 10
用上面的操作就可以让 query_user 会话释放锁定的表 Locked_Table 了。
以上就是Mysql查看和解锁被锁定的表的方法,查看和解锁被锁定的表是维护Mysql数据库的重要操作,希望本文能够帮助Mysql用户。