语法:

    1. show open tables
    2. [ from | in db_name]
    3. [ like 'parttern'| where 'expr']

    show open tables 可以列出当前缓存中非临时表的打开状态。
    示例:

    mysql> show open tables where in_use>0;
    +-----------------+------------+--------+-------------+
    | Database        | Table      | In_use | Name_locked |
    +-----------------+------------+--------+-------------+
    | cloud_rbac_95pw | department |      3 |           0 |
    | cloud_rbac_95pw | user       |      2 |           0 |
    +-----------------+------------+--------+-------------+
    2 rows in set (0.03 sec)
    

    字段含义:
    Database 列表示库名
    Table 表示表名
    In_use 表示表上已有的锁,或者锁请求。假设有个语句LOCK TABLE t1 WRITE,那么In_use是1,如果再来一个LOCK TABLE t1 WRITE,那么这个语句会等待之前的事务释放锁,且In_use是2。如果In_use是0,表示表已经被打开了,但是没被使用。
    Name_locked 表示是否锁住表名。删除表或者修改表名时会锁住。

    注意:
    如果没有表的权限,那么show open tables 将不会显示关于这个表的锁。