mysql lock state 쿼리 찾기

MySQL 운영하다 보면 간혹 여러 이유로 lock이 발생하여 이후로 들어오는 쿼리들이 밀려 있는 경우가 발생한다.

이 경우 show processlist 명령으로 state컬럼에 locked인 쿼리의 id를 찾아서 kill 해주면 된다.

예) 315320 id를 가진 쿼리를 kill 한다.

kill 315320

하지만 밀려있는 쿼리가 너무 많아 lock 상태의 쿼리를 찾기 힘든 경우가 발생합니다.

이럴때 팁!

보통 lock 상태의 쿼리는 show processlit의 제일 상단에 위치함.

그래서 show processlist로는 화면이 넘어가 버리기 때문에 상단에 lock 상태 쿼리 id를 보기가 힘듦. 명령 날리자 마자 ctrl + c 신공으로도 안됨.

그래서 다음과 같은 쿼리로 찾을 수 있음

SELECT * FROM information_schema.processlist ORDER BY id ASC LIMIT 10;

더 좋은 팁 있으시면 댓글 달아주세요 ㄷ ㄷ

댓글 남기기