13.7.5.30 SHOW PROCESSLIST 구문
SHOW [FULL] PROCESSLIST
SHOW PROCESSLIST
는 어떤 스레드가 실행되고 있는지를 표시합니다. 이 정보는 또한 INFORMATION_SCHEMA
PROCESSLIST
테이블 또는 mysqladmin processlist 명령도 얻을 수 있습니다. PROCESS
권한이있는 경우는 모든 스레드를 볼 수 있습니다. 그렇지 않은 경우에는 사용자 고유의 스레드 (즉, 사용중인 MySQL 계정에 연결된 스레드) 만 볼 수 있습니다. FULL
키워드를 사용하지 않으면 각 문의 처음 100 문자 만 Info
필드에 표시됩니다.
처리 정보는 performance_schema.threads
테이블에서 사용할 수 있습니다. 그러나 threads
에 대한 액세스는 상호 배타적 잠금이 필요없이 서버 성능에 미치는 영향은 크지 않습니다. INFORMATION_SCHEMA.PROCESSLIST
및 SHOW PROCESSLIST
는 상호 배타적 잠금을 필요로하기 때문에 부정적인 실적입니다. threads
또한 백그라운드 스레드에 대한 정보도 표시되지만 INFORMATION_SCHEMA.PROCESSLIST
및 SHOW PROCESSLIST
는 표시하지 않습니다. 이것은 threads
는 다른 스레드 정보원에서는 할 수없는 활동의 모니터에 사용할 수 있음을 의미합니다.
SHOW PROCESSLIST
문은 "연결이 너무 많습니다"라는 오류 메시지가 표시되는 데 무엇이 발생하고 있는지를 파악하고자 할 때 매우 유용합니다. MySQL은 관리자가 언제든지 시스템에 연결하고 시스템을 확실하게 확인할 수 있도록하기 위해 SUPER
권한을 가진 계정에서 사용되는 추가의 연결을 하나 예약하고 있습니다 (이 권한을 모든 사용자 에 포기하지 않는다고 가정합니다).
스레드는 KILL
문을 사용하여 종료 할 수 있습니다. 섹션 13.7.6.4 "KILL"장 을 참조하십시오.
SHOW PROCESSLIST
출력의 예를 보여줍니다.
mysql> SHOW FULL PROCESSLIST \ G *************************** 1. row ******************** ******* Id : 1 User : system user Host : db : NULL Command : Connect Time : 1030455 State : Waiting for master to send event Info : NULL *************************** 2. row ******************** ******* Id : 2 User : system user Host : db : NULL Command : Connect Time : 1004 State : Has read all relay log; waiting for the slave I / O thread to update it Info : NULL *************************** 3. row ******************** ******* Id : 3112 User : replikator Host : artemis : 2204 db : NULL Command : Binlog Dump Time : 2144 State : Has sent all binlog to slave; waiting for binlog to be updated Info : NULL *************************** 4. row ******************** ******* Id : 3113 User : replikator Host : iconnect2 : 45781 db : NULL Command : Binlog Dump Time : 2086 State : Has sent all binlog to slave; waiting for binlog to be updated Info : NULL *************************** 5. row ******************** ******* Id : 3123 User : stefan Host : localhost db : apollon Command : Query Time : 0 State : NULL Info : SHOW FULL PROCESSLIST 5 rows in set (0.00 sec)
SHOW PROCESSLIST
에 의해 생성되는 열은 다음과 같은 의미가 있습니다.
Id
연결 식별자. 이것은
INFORMATION_SCHEMA.PROCESSLIST
테이블의ID
컬럼 성능 스키마threads
테이블PROCESSLIST_ID
컬럼에 표시된 값 및CONNECTION_ID()
함수에 의해 반환되는 값과 같은 형태의 값입니다.User
이 문을 사용하는 MySQL 사용자. 이것이
system user
인 경우는 작업을 내부적으로 처리하기 위해 서버에 의해 생성 된 비 클라이언트 스레드를 나타냅니다. 이것은 리플리케이션 슬레이브에서 사용되는 I / O 또는 SQL 스레드하거나 지연 행 처리기 일 가능성이 있습니다.unauthenticated user
는 클라이언트 연결과 연관된 만 클라이언트 사용자 인증이 아직 실행되지 않은 스레드를 나타냅니다.event_scheduler
은 예정된 이벤트를 모니터하는 스레드를 나타냅니다.system user
의 경우,Host
컬럼에 지정된 호스트가 존재하지 않습니다.Host
이 문을 실행하는 클라이언트의 호스트 이름 (호스트가없는
system user
제외).SHOW PROCESSLIST
는 어떤 클라이언트가 무엇을 실행하고 있는지의 판정을 용이하게하기 위해 TCP / IP 연결의 호스트 이름을
형식으로보고합니다.host_name
:client_port
db
기본 데이터베이스 (선택한 경우). 그렇지 않은 경우는
NULL
.Command
스레드가 실행하는 명령의 종류. 스레드의 명령에 대한 설명은 섹션 8.12.5 "스레드 정보 검사" 를 참조하십시오. 이 컬럼 값은 클라이언트 / 서버 프로토콜
COM_
명령과xxx
Com_
상태 변수에 대응합니다. 섹션 5.1.6 "서버 상태 변수" 를 참조하십시오xxx
Time
스레드가 현재 상태에서 초. 슬레이브 SQL 쓰레드의 경우이 값은 마지막으로 복제 된 이벤트 타임 스탬프와 슬래 이브 머신의 실제 시간 사이의 시간 (초)입니다. 섹션 17.2.1 "복제 구현 정보" 를 참조하십시오.
State
스레드가 행하고있는 것을 나타내는 액션 이벤트 또는 상태.
State
값에 대한 설명은 섹션 8.12.5 "스레드 정보 검사" 를 참조하십시오.대부분의 상태가 매우 빠른 동작에 해당합니다. 스레드의 상태가 몇 초에도 특정 상태에 머물러있는 경우는 조사가 필요한 문제가있을 가능성이 있습니다.
SHOW PROCESSLIST
명령문의 경우State
값은NULL
입니다.Info
스레드가 실행하는 명령문 또는 그것이 모든 문이 실행되지 않을 경우
NULL
. 이 문은 서버에 보내는 명령문 또는 명령문이 다른 문을 실행하는 경우에는 가장 안쪽의 문이 될 수 있습니다. 예를 들어,CALL
문이SELECT
문을 실행하는 저장 프로 시저를 실행하는 경우Info
값은SELECT
문을 보여줍니다.