8.12.5 스레드 정보 확인
MySQL 서버에 무엇이 실행되고 있는지를 확인하고자하는 경우 프로세스 목록을 조사하면 도움이 될 수 있습니다. 이것은 서버에서 현재 실행되는 스레드의 집합입니다. 프로세스 목록 정보는이 소스에서 얻을 수 있습니다.
SHOW [FULL] PROCESSLIST
문 : 섹션 13.7.5.30 "SHOW PROCESSLIST 구문"SHOW PROFILE
문 : 섹션 13.7.5.32 "SHOW PROFILES 구문"INFORMATION_SCHEMA
PROCESSLIST
테이블 : 섹션 21.15 "INFORMATION_SCHEMA PROCESSLIST 테이블"mysqladmin processlist 명령 : 섹션 4.5.2 "mysqladmin - MySQL 서버를 관리하는 클라이언트"
performance_schema.threads
테이블 : 섹션 22.9.10 "성능 스키마의 다른 테이블"
threads
에 대한 액세스는 상호 배타적 잠금이 필요없이 서버 성능에 미치는 영향은 크지 않습니다. INFORMATION_SCHEMA.PROCESSLIST
및 SHOW PROCESSLIST
는 상호 배타적 잠금을 필요로하기 때문에 부정적인 실적입니다. threads
또한 백그라운드 스레드에 대한 정보도 표시되지만 INFORMATION_SCHEMA.PROCESSLIST
및 SHOW PROCESSLIST
는 표시하지 않습니다. 이것은 threads
는 다른 스레드 정보원에서는 할 수없는 활동의 모니터에 사용할 수 있음을 의미합니다.
자신의 스레드에 대한 정보를 언제든지 볼 수 있습니다. 다른 계정에서 실행되고있는 스레드에 대한 정보를 표시하려면 PROCESS
권한이 필요합니다.
프로세스 목록의 각 항목에는 어떤 정보가 포함되어 있습니다.
Id
는 스레드에 연결된 클라이언트의 연결 식별자입니다.User
와Host
는 스레드에 연결된 계정을 나타냅니다.db
는 스레드의 기본 데이터베이스 또는 아무것도 선택되어 있지 않은 경우는NULL
입니다.Command
와State
스레드가 수행하고 있는지를 보여줍니다.대부분의 상태가 매우 빠른 동작에 해당합니다. 스레드의 상태가 몇 초에도 특정 상태에 머물러있는 경우는 조사가 필요한 문제가있을 가능성이 있습니다.
Time
스레드의 현재 상태가 얼마나 지속되는지를 보여줍니다. 특정 경우에 스레드의 현재 시간 개념이 변경 될 수 있습니다. 스레드는SET TIMESTAMP =
에 의해 시간을 변경할 수 있습니다. 마스터에서 이벤트를 처리하고있는 슬레이브에서 실행되는 스레드의 경우 스레드의 시간은 이벤트에 발견 된 시간에 설정되기 때문에 노예가 아니라 주인의 현재 시간을 반영합니다.value
Info
에는 스레드에서 실행되는 명령문 텍스트가 포함되거나 아무것도 실행되지 않은 경우NULL
입니다. 기본적으로이 값은 문 앞의 100 문자 만이 포함됩니다. 완전한 성명을 표시하려면SHOW FULL PROCESSLIST
를 사용합니다.
다음 섹션에서는 Command
가능한 값 및 범주별로 그룹화 한 State
값을 설명합니다. 이러한 일부의 값의 의미는 자명합니다. 그 외에 대해서는 추가 설명을 제공합니다.