MySQL 잠금 확인 방법
[MySQL 운영]/MySQL Tip 2021. 1. 29. 15:25 |INFORMATION_SCHEMA 의 innodb_trx / innodb_locks / innodb_lock_waits 로 락에 대한 정보를 확인할 수 있다.
- innodb_locks : 락을 얻지 못했거나, 다른 트랜잭션으로 블락이 발생한 경우이며, 어느 잠금이 어느 테이블, 어느인덱스, 어느데이터에 걸려있는지 확인
- innodb_lock_waits : 락을 얻지 못하고 기다리고 있는 트랜잭션(requesting_trx_id)이 어떤 트랜잭션(blokcing_trx_id) 때문에 기다리고 있는건지 확인
- innodb_tx : 오랫동안 커밋되지 않은 트랜잭션에 대해 어떤 스레드에 의해 기동되었는지 확인
mysql > SHOW ENGINE INNODB STATUS;
SELECT
r.trx_id waiting_trx_id,
r.trx_mysql_thread_id waiting_thread,
r.trx_query waiting_query,
b.trx_id blocking_trx_id,
b.trx_mysql_thread_id blocking_thread,
b.trx_query blocking_query
FROM
information_schema.innodb_lock_waits w
INNER JOIN information_schema.innodb_trx b ON b.trx_id = w.blocking_trx_id
INNER JOIN information_schema.innodb_trx r ON r.trx_id = w.requesting_trx_id;
참고
https://www.popit.kr/mysql-lock-%EC%83%81%ED%99%A9-%EB%AC%B8%EC%A0%9C-%ED%95%B4%EA%B2%B0/
'[MySQL 운영] > MySQL Tip' 카테고리의 다른 글
tmp_table_size 와 max_heap_table_size 차이 (0) | 2021.01.29 |
---|---|
pt online schema change (0) | 2021.01.28 |
mysql show processlist ip 확인하기 (0) | 2021.01.28 |
MySQL 미사용 인덱스 조회 (0) | 2021.01.28 |
mysql 선택도 나쁜 인덱스 조회 방법 (0) | 2021.01.28 |
DB별, Table별 데이터 사이즈 (0) | 2021.01.28 |
쿼리 진행율 확인 (0) | 2021.01.28 |