mysql锁表

要查看 MySQL 数据库中的锁信息,可以使用以下方法之一:

  1. 使用 SHOW FULL PROCESSLIST

    这个命令将显示当前 MySQL 实例中正在执行的所有进程,包括它们所持有的锁信息。在终端中执行以下命令:

    sql复制代码
    SHOW FULL PROCESSLIST;

    这将列出当前连接到 MySQL 实例的所有客户端会话,并显示它们的状态、执行的查询以及持有的锁信息。

  2. 查询 INFORMATION_SCHEMA

    可以查询 INFORMATION_SCHEMA 数据库中的 INNODB_LOCKS 和 INNODB_LOCK_WAITS 表来获取锁的详细信息。例如:

    sql复制代码
    SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS; SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;

    这些查询将返回当前被锁定的对象以及等待锁释放的进程信息。

  3. 使用 mysqladmin 工具:

    可以使用 mysqladmin 工具的 processlist 子命令来获取类似于 SHOW PROCESSLIST 的信息,包括锁信息。例如:

    bash复制代码
    mysqladmin processlist
     
     
    我这边是执行 

    SHOW FULL PROCESSLIST

     然后查看 Waiting for table metadata lock  状态的数据 
     
    然后 kill  id的值 
     kill 74903

     

posted @ 2024-02-20 18:11  不会游泳的鱼丶  阅读(25)  评论(0编辑  收藏  举报