[MySQL] KILL 명령
- Databases/MySQL
- 2020. 10. 13.
■ KILL 명령어
KILL [CONNECTION | QUERY] processlist_id
mysqld에 대한 각 연결은 별도의 스레드에서 실행됩니다. KILL processlist_id 문으로 스레드를 강제 종료 할 수 있습니다.
스레드 프로세스 목록 식별자는 INFORMATION_SCHEMA PROCESSLIST 테이블의 ID 컬럼, SHOW PROCESSLIST 출력의 ID컬럼 및 성능 스키마 스레드 테이블의 PROCESSLIST_ID 컬럼에서 확인할 수 있습니다. 현재 스레드의 값은 CONNECTION_ID () 함수에 의해 리턴됩니다.
KILL은 선택적 CONNECTION 또는 QUERY 수정자를 허용합니다.
+ KILL CONNECTION은 수정자가 없는 KILL과 같습니다. 연결이 실행중인 명령문을 종료한 후 주어진 processlist_id와 연관된 연결을 종료합니다.
+ KILL QUERY는 연결이 현재 실행중인 명령문을 종료하지만 연결 자체는 그대로 둡니다.
종료 할 수 있는 스레드를 확인하는 기능은 PROCESS 권한에 따라 다릅니다.
+ PROCESS가 없으면 자신만의 스레드만 볼 수 있습니다.
+ PROCESS를 사용하면 모든 스레드를 볼 수 있습니다.
스레드와 명령문을 종료하는 기능은 SUPER 권한에 따라 다릅니다.
+ SUPER가 없으면 자신의 스레드와 문장만 죽일 수 있습니다.
+ SUPER를 사용하면 모든 스레드와 명령문을 종료할 수 있습니다.
mysqladmin processlist 및 mysqladmin kill 명령을 사용하여 스레드를 검사하고 종료할 수도 있습니다.
참고사항
내장 서버는 호스트 응용 프로그램의 스레드 내에서만 실행되므로 내장 MySQL 서버 라이브러리에서 KILL을 사용할 수 없습니다. 자체 연결 스레드를 만들지 않습니다.
KILL을 사용하면 특정 스레드의 킬 플래그가 스레드에 설정됩니다. 대부분의 경우 kill 플래그가 특정 간격으로만 검사되므로 스레드가 죽는 데 약간의 시간이 걸릴 수 있습니다.
+ ORDER BY 및 GROUP BY 루프에 대해 SELECT 조작 중에 행 블록을 읽은 후 플래그가 점검됩니다. kill 플래그가 설정되면 명령문이 중단됩니다.
+ 테이블 복사를 수행하는 ALTER TABLE 조작은 원래 테이블에서 읽은 몇 개의 복사된 행마다 주기적으로 kill 플래그를 점검합니다. kill 플래그가 설정되면 명령문이 중단되고 임시 테이블이 삭제됩니다.
+ KILL 문은 확인을 기다리지 않고 리턴되지만 킬 플래그 검사는 상당히 적은 시간 내에 조작을 중단합니다. 필요한 정리를 수행하기 위해 작업을 중단하는 데에도 시간이 걸립니다.
+ UPDATE 또는 DELETE 조작 중에, 킬 플래그는 각 블록을 읽은 후 그리고 갱신되거나 삭제된 각 행 후에 점검됩니다. kill 플래그가 설정되면 명령문이 중단됩니다. 트랜잭션을 사용하지 않으면 변경 사항이 롤백되지 않습니다.
+ GET_LOCK ()이 중단되고 NULL을 반환합니다.
+ 스레드가 테이블 잠금 핸들러 (상태 : 잠금)에 있으면 테이블 잠금이 빠르게 중단됩니다.
+ 쓰레드가 쓰기 호출에서 디스크 여유 공간을 기다리는 중이면 "disk full"오류 메시지와 함께 쓰기가 중단됩니다.
경고
MyISAM 테이블에서 REPAIR TABLE 또는 OPTIMIZE TABLE 작업을 종료하면 테이블이 손상되어 사용할 수 없게됩니다. 이러한 테이블에 대한 읽기 또는 쓰기는 중단없이 다시 최적화하거나 복구 할 때까지 실패합니다.
'Databases > MySQL' 카테고리의 다른 글
[MySQL] SHOW ENGINE과 SHOW ENGINES 명령 (0) | 2020.10.17 |
---|---|
[MySQL] Prepared 명령 (0) | 2020.10.15 |
[MySQL] Flush 명령 (0) | 2020.10.07 |
[MySQL] Bulk Data Loading for InnoDB Tables (0) | 2020.09.27 |
[MySQL] innodb_autoinc_lock_mode 환경 (0) | 2020.09.24 |