반응형
MySQL 사용 중 어떤 쿼리를 보내도
그냥 계속 돌기만 하는 경우를
데이터베이스에 락이 걸렸다고 하는데
다음 쿼리를 이용해 간단히 해결이 가능하다
먼저 SHOW FULL PROCESSLIST; 를 사용해주면
위 스크린샷과 같이 조회가 되는 것이 보이는데
여기서 주목해야 할 부분은 Command, Time, State인데
먼저 Command가 Query 상태이면서
Time이 계속 올라가고 있을 경우
Info 열에 해당하는 쿼리가 그냥 오래 돌아가는거다
누가 이렇게 오래 돌리는지 확인한 후
주인이 없으면 해당 행의 ID를 확인한 후
KILL [ID]를 해주면 된다
다음은 State가 locked 상태인 경우
DB LOCK이 걸린 상태인데
이때는 그냥 락 걸린 행의 ID를 봐준 후
KILL [ID]를 해주면 된다
마지막으로 예제에 사용한 쿼리는 아래와 같다
SHOW FULL PROCESSLIST; -- 전체 프로세스 확인
KILL [ID]; -- ID에 해당하는 프로세스 삭제
반응형
'SQL > MySQL' 카테고리의 다른 글
MySQL IFNULL IF CASE 예제 및 사용방법 (0) | 2021.01.21 |
---|---|
MySQL 쿼리 히스토리 확인방법 (0) | 2021.01.21 |
MySQL LIKE REGEXP(LIKE IN) 사용방법 (0) | 2021.01.21 |
MySQL COALESCE 함수 사용방법 (0) | 2021.01.21 |
MySQL 테이블 컬럼 코멘트 추가 수정 삭제 조회방법 (0) | 2021.01.21 |
댓글