OS
mysql lock 쿼리 모두 강제 중지(kill)
- 비아웹 오래 전 2022.02.21 14:25 인기
-
- 4,114
- 0
안녕하세요
서버호스팅 전문기업 비아웹입니다.
mysql 을 사용하다 보면, 테이블 lock 으로 인해 서비스 지연이 발생하는 경우가 있습니다.
table lock 의 경우 원인 파악 및 재발 방지 조치가 필수적이지만,
당장 웹 서비스가 안되는 경우에는 해당 lock 을 강제로 중지시켜아 하는 경우에
아래와 같이 kill PID 로 가능합니다.
mysql > kill PID;
소수의 DB lock 이 아닌, 다수의 lock 을 한번에 kill 시키는 방법에 대해 기록 남깁니다.
1. show processlist (현재 DB 상태 확인)
mysql > select * from information_schema.processlist where State LIKE" Locked";
3. lock 상태 process 에 kill 명령어 붙여보기
mysql >select concat('KILL ',id,';')from information_schema.processlist where State LIKE "Locked";
4. 3번 항목의 명령어 결과를 별도 파일로 저장 후 실행
- 별도 파일로 저장
mysql> select concat('KILL ',id,';')from information_schema.processlist where State LIKE"Locked" \
into outfile '/tmp/kill.txt';
- source 명령어를 이용하여 별도 파일 불러오기
mysql> source /tmp/0210.txt ;
이상과 같이 mysql lock 상태 프로세스를 모두 강제 중지하는 방법에 대해 정리하였습니다.
이상의 방법은 임시적인 방안이며, 동일 테이블에 다수의 lock 발생시에는 개발자 및 웹 로그 확인을 통해 원인 파악이 필요합니다.
감사합니다.
서버호스팅 비아웹
- 이전글Centos6 , 7 패스워드 초기화2022.02.21
- 다음글ssh 무차별 공격에 대비한 fail2ban 사용법2022.02.21
댓글목록
등록된 댓글이 없습니다.