Mysql INNODB Locks

Ryu·2022년 5월 16일
0

2021-archive

목록 보기
5/8

2021년에 작성한 노트를 옮겨 적은 것입니다.

보통의 상황

'Lock wait timeout exceeded; try restarting transaction'

DB 조회

 -- mysql
use information_schema;
select * from INNODB_LOCKS;  -- 프로그램 실행 중 lock 들
select * from INNODB_LOCK_WAITS; -- lock 기다리는 것들
select * from INNODB_TRX;  -- 트랜잭션 상태들을 나타내준다 → trx_id, trx_mysql_thread_id
show processlist; -- 각 mysql thread id의 실행 유저, 호스트, db 정보 확인
kill 46; -- 특정 thread 종료
 
 -- innodb 상태 조회
show engine innodb status;

Transaction & Promise and all:
https://medium.com/@alkor_shikyaro/transactions-and-promises-in-node-js-ca5a3aeb6b74

Transaction setting 확인

MariaDB [bee_data]> SHOW VARIABLES WHERE Variable_name='autocommit';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| autocommit    | ON    |
+---------------+-------+
 
MariaDB [bee_data]> show variables like 'innodb_rollback_on_timeout';
+----------------------------+-------+
| Variable_name              | Value |
+----------------------------+-------+
| innodb_rollback_on_timeout | OFF   |
+----------------------------+-------+

0개의 댓글