• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 1. 데이터 정의 문
    2. 데이터 조작 문
    3. MySQL 트랜잭션과 잠금 문
    4. 복제 문
    5. Prepared Statements위한 SQL 구문
    6. MySQL 복합문 구문
    7. 데이터베이스 관리 문
    1. 계정 관리 문
    2. 테이블 유지 보수 문
    3. 플러그인 및 사용자 정의 함수 문
    4. SET 구문
    5. SHOW 구문
    6. 기타 관리 문
    1. BINLOG 구문
    2. CACHE INDEX 구문
    3. FLUSH 구문
    4. KILL 구문
    5. LOAD INDEX INTO CACHE 구문
    6. RESET 구문
    8. MySQL 유틸리티 문
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

13.7.6.4 KILL 구문

 KILL [CONNECTION | QUERY] processlist_id 

mysqld에 각 연결은 별도의 스레드에서 실행됩니다. 스레드는 KILL processlist_id 문에서 강제 종료 할 수 있습니다.

스레드 프로세스 목록 식별자는 INFORMATION_SCHEMA.PROCESSLIST 테이블의 ID 컬럼, SHOW PROCESSLIST 출력의 Id 컬럼 및 성능 스키마 threads 테이블 PROCESSLIST_ID 컬럼에서 확인할 수 있습니다. 현재의 thread의 값은 CONNECTION_ID() 함수에 의해 반환됩니다.

KILL 는 옵션 CONNECTION 또는 QUERY 규정이 허용됩니다.

  • KILL CONNECTION 는 규정되지 않은 KILL 과 같습니다. 이것은 지정된 processlist_id 에 연결된 연결을 종료합니다.

  • KILL QUERY 연결이 현재 실행중인 문을 닫습니다 그 연결 자체는 그대로 둡니다.

PROCESS 권한이있는 경우는 모든 스레드를 볼 수 있습니다. SUPER 권한이있는 경우는 모든 스레드와 문을 강제 종료 할 수 있습니다. 그렇지 않은 경우에는 사용자 고유의 스레드와 문만을 표시 및 강제 종료 할 수 있습니다.

mysqladmin processlist 및 mysqladmin kill 명령을 사용하여 스레드를 검사 및 강제 종료 할 수 있습니다.

참고

임베디드 서버는 호스트 응용 프로그램의 스레드 내부에서만 실행되지 않기 때문에 내장 MySQL Server 라이브러리에서는 KILL 을 사용할 수 없습니다. 자신의 연결 스레드가 생성되지 않습니다.

KILL 을 사용하면 그 쓰레드의 고유 종료 플래그가 설정됩니다. 강제 종료 플래그는 다음 일정한 간격으로 밖에 확인되지 않기 때문에 대부분의 경우 스레드가 종료 될 때까지 어느 정도 시간이 걸릴 수 있습니다.

  • SELECT 작업 중에 ORDER BY 와 GROUP BY 루프에서는이 플래그는 행 블록 읽기 후에 체크됩니다. 강제 종료 플래그가 설정되어있는 경우,이 문은 중단됩니다.

  • ALTER TABLE 작업 중에 강제 종료 플래그는 원래 테이블에서 각 행 블록을 읽기 전에 확인됩니다. 강제 종료 플래그가 설정되어 있다면,이 문은 중단되고 임시 테​​이블이 삭제됩니다.

  • UPDATE 또는 DELETE 작업 중에 강제 종료 플래그는 블록을 읽을 때마다, 그리고 행이 갱신 또는 삭제 될 때마다 확인됩니다. 강제 종료 플래그가 설정되어있는 경우,이 문은 중단됩니다. 트랜잭션을 사용하지 않는 경우에는 변경이 롤백되지 않습니다.

  • GET_LOCK() 은 중단되고 NULL 을 반환합니다.

  • INSERT DELAYED 스레드는 메모리에있는 모든 행을 빠르게 플래시 (삽입)하고 종료합니다.

  • 이 스레드가 테이블 잠금 핸들러 내에있는 경우 (상태 : Locked ) 그 테이블 잠금이 빨리 중지됩니다.

  • 이 thread가 기입 통화에서 디스크 공간을 대기하고있는 경우, 그 기록은 "디스크 공간 부족"오류 메시지에서 중지됩니다.

경고

MyISAM 테이블에 REPAIR TABLE 또는 OPTIMIZE TABLE 작업을 종료하면 테이블이 손상 사용할 수 없습니다. 이러한 테이블에 대한 읽기 또는 쓰기는 모든 테이블을 다시 최적화하거나 복구 할 때까지 실패합니다 (인터럽트 없음).


서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved