如何检查特定的表是否在Mysql中被锁定?

时间:2015-08-05 06:26:25

标签: mysql

我正在执行以下查询以查找我的临时表是否已锁定。

show open tables where in_use > 0 and table = 'temp'

但它低于错误:

  

&table;' temp =#39;

附近的语法错误

我已搜索但无法获得正确的语法。任何人都可以提供帮助。

1 个答案:

答案 0 :(得分:4)

方法1:只需执行命令show processlist;或显示完整的流程清单;命令并检查是否有任何查询/表在进程列表中显示为锁定。

注意:从超级用户检查以检查服务器上的所有正在运行的进程。

方法2:执行show engine innodb status;你可以在这里检查锁定......

方法3:在mysql 5.6以后,你也可以在information_schema db中查看它。

注意:如果您使用的是mysqladministrator之类的任何gui工具,那么您可以检查所有正在运行的进程,如果有任何表被锁定,则可以轻松查找....

更新

如果你想通过sql查询得到这个,那么你可以使用下面的查询 -

对于所有锁定的表格 -

SHOW OPEN TABLES WHERE in_use>0;

检查特定表格 -

SHOW OPEN TABLES WHERE in_use>0 AND `Table`='your_table_name';