MySQL User Lock

--  lock 잡기. 숫자 1은 lock 을 잡기 위해 대기할 수 있는 최대시간.
-- 이 시간안에 락을 잡지 못하면 0 반환.
SELECT get_lock('session key', 1);
 
-- 배타적으로 할 일.
 
-- 락 풀기
SELECT release_lock('session key');
SELECT get_lock('a', 1);
SELECT is_free_lock('a'); -> FALSE
SELECT get_lock('a', 1);
SELECT is_free_lock('a'); -> FALSE
 
-- release 시작
SELECT release_lock('a'); -> 1
SELECT is_free_lock('a'); -> FALSE
 
SELECT release_lock('a'); -> 1
SELECT is_free_lock('a'); -> TRUE
 
-- 이미 모든 Lock 해지 상태
SELECT release_lock('a'); -> NULL

참조