8.12.5 스레드 정보 확인
MySQL 서버에 무엇이 실행되고 있는지를 확인하고자하는 경우 프로세스 목록을 조사하면 도움이 될 수 있습니다. 이것은 서버에서 현재 실행되는 스레드의 집합입니다. 프로세스 목록 정보는이 소스에서 얻을 수 있습니다.
SHOW [FULL] PROCESSLIST문 : 섹션 13.7.5.30 "SHOW PROCESSLIST 구문"SHOW PROFILE문 : 섹션 13.7.5.32 "SHOW PROFILES 구문"INFORMATION_SCHEMAPROCESSLIST테이블 : 섹션 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 =에 의해 시간을 변경할 수 있습니다. 마스터에서 이벤트를 처리하고있는 슬레이브에서 실행되는 스레드의 경우 스레드의 시간은 이벤트에 발견 된 시간에 설정되기 때문에 노예가 아니라 주인의 현재 시간을 반영합니다.valueInfo에는 스레드에서 실행되는 명령문 텍스트가 포함되거나 아무것도 실행되지 않은 경우NULL입니다. 기본적으로이 값은 문 앞의 100 문자 만이 포함됩니다. 완전한 성명을 표시하려면SHOW FULL PROCESSLIST를 사용합니다.
다음 섹션에서는 Command 가능한 값 및 범주별로 그룹화 한 State 값을 설명합니다. 이러한 일부의 값의 의미는 자명합니다. 그 외에 대해서는 추가 설명을 제공합니다.