如何获取 MySQL 客户端连接持有的命名 MySQL 锁列表

spe*_*593 3 mysql

对于 MySQL 5.1,有没有办法获取 MySQL 客户端连接持有的命名 MySQL“锁”列表?

我知道如果我知道锁的名称,我可以检查特定的命名锁。但我想知道如何(如果可能)列出持有(或等待)命名锁的客户端连接,特别是每个客户端持有的锁的名称。

我在这里询问有关获取、释放、检查等的命名锁。通过 MySQL GET_LOCK、RELEASE_LOCK、IS_FREE_LOCK 和 IS_USED_LOCK 函数。

http://dev.mysql.com/doc/refman/5.1/en/miscellaneous-functions.html#function_get-lock

(注意:我不是询问 LOCK TABLE 语句获取的表锁)

Ike*_*ker 5

我认为不可能获取持有锁的客户端列表,但您应该能够使用如下查询获取正在积极等待锁的客户端列表:

select * 
from information_schema.PROCESSLIST 
where state = 'User lock'
Run Code Online (Sandbox Code Playgroud)