• 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 구문
    1. SHOW AUTHORS 구문
    2. SHOW BINARY LOGS 구문
    3. SHOW BINLOG EVENTS 구문
    4. SHOW CHARACTER SET 구문
    5. SHOW COLLATION 구문
    6. SHOW COLUMNS 구문
    7. SHOW CONTRIBUTORS 구문
    8. SHOW CREATE DATABASE 구문
    9. SHOW CREATE EVENT 구문
    10. SHOW CREATE FUNCTION 구문
    11. SHOW CREATE PROCEDURE 구문
    12. SHOW CREATE TABLE 구문
    13. SHOW CREATE TRIGGER 구문
    14. SHOW CREATE VIEW 구문
    15. SHOW DATABASES 구문
    16. SHOW ENGINE 구문
    17. SHOW ENGINES 구문
    18. SHOW ERRORS 구문
    19. SHOW EVENTS 구문
    20. SHOW FUNCTION CODE 구문
    21. SHOW FUNCTION STATUS 구문
    22. SHOW GRANTS 구문
    23. SHOW INDEX 구문
    24. SHOW MASTER STATUS 구문
    25. SHOW OPEN TABLES 구문
    26. SHOW PLUGINS 구문
    27. SHOW PRIVILEGES 구문
    28. SHOW PROCEDURE CODE 구문
    29. SHOW PROCEDURE STATUS 구문
    30. SHOW PROCESSLIST 구문
    31. SHOW PROFILE 구문
    32. SHOW PROFILES 구문
    33. SHOW RELAYLOG EVENTS 구문
    34. SHOW SLAVE HOSTS 구문
    35. SHOW SLAVE STATUS 구문
    36. SHOW STATUS 구문
    37. SHOW TABLE STATUS 구문
    38. SHOW TABLES 구문
    39. SHOW TRIGGERS 구문
    40. SHOW VARIABLES 구문
    41. SHOW WARNINGS 구문
    6. 기타 관리 문
    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.5.16 SHOW ENGINE 구문

 SHOW ENGINE engine_name {STATUS | MUTEX} 

SHOW ENGINE 스토리지 엔진에 관한 동작 정보를 표시합니다. 여기에는 PROCESS 권한이 필요합니다. 이 문은 다음의 변형이 있습니다.

 SHOW ENGINE INNODB STATUS
 SHOW ENGINE INNODB MUTEX
 SHOW ENGINE {NDB | NDBCLUSTER} STATUS
 SHOW ENGINE PERFORMANCE_SCHEMA STATUS

SHOW ENGINE INNODB STATUS 는 InnoDB 스토리지 엔진의 상태에 대한 InnoDB 표준 모니터에서 광범위한 정보를 표시합니다. InnoDB 의 처리에 관한 정보를 제공하는 표준 모니터 및 기타 InnoDB 모니터 내용은 섹션 14.15 "InnoDB 모니터" 를 참조하십시오.

SHOW ENGINE INNODB MUTEX 은 InnoDB 상호 배타적 잠금 및 읽고 쓰기 잠금 통계를 표시합니다. 문 출력에는 다음과 같은 열이 있습니다.

참고

대부분의 SHOW ENGINE INNODB MUTEX 출력은 5.6.14에서 삭제됩니다. SHOW ENGINE INNODB MUTEX 출력은 MySQL 5.7.2에서 완전히 삭제됩니다. 성능 스키마 테이블에 뷰를 작성하여 비교 가능한 정보를 생성 할 수 있습니다.

  • Type

    항상 InnoDB 입니다.

  • Name

    상호 배타적 잠금이 구현되어있는 소스 파일과 그 파일의 상호 배타적 잠금이 생성되는 행 번호. 이 행 번호는 사용하는 MySQL 버전에 따라 다릅니다.

  • Status

    상호 배타적 잠금 상태입니다. MySQL의 컴파일시에 WITH_DEBUG 가 정의 된 경우이 필드에는 어떤 값이 표시됩니다. WITH_DEBUG 가 정의되지 않은 경우,이 문은 os_waits 값만 표시합니다. 후자의 ( WITH_DEBUG 없는) 경우,이 출력의 기본으로되어있는 정보가 일반 상호 배타 락과 읽기, 쓰기 잠금을 보호하기 (다중 판독기 또는 단일 쓰기 허용) 상호 배타 락을 구별 는 부족합니다. 그 결과, 출력이 동일한 상호 배타 락에 여러 행을 포함하도록 보일 수 있습니다.

    • count 는 상호 배타적 잠금이 요청 된 횟수를 나타냅니다.

    • spin_waits 스핀 록의 실행이 필요하게 된 횟수를 나타냅니다.

    • spin_rounds 스핀 록 라운드의 수를 나타냅니다. ( spin_rounds 을 spin_waits 로 나누면 평균 발사 속도를 얻을 수 있습니다.)

    • os_waits 은 운영 체제의 대기의 수를 나타냅니다. 이것은 스핀 잠금이 작동하지 않았다 (스핀 잠금 중 상호 배타적 잠금이 잠기지 않고 운영 체제에 양보 기다릴 필요가 있었다) 경우에 발생합니다.

    • os_yields 은 상호 배타적 잠금을 잠그려고하고있는 thread가 그 타임 슬라이스를 포기 운영 체제에 양보 횟수를 나타냅니다 (다른 thread의 실행을 허용하면 상호 배타적 잠금이 해제되고 잠금 수있게된다 것을 전제로하고 있습니다).

    • os_wait_times 은 운영 체제의 대기에 소요 된 시간 (밀리 초)을 나타냅니다. MySQL 5.6에서는 타이밍이 해제되기 때문에이 값은 항상 0입니다.

큰 버퍼 풀에서 출력 양이 시스템에서 방대하게되는 경우가 있기 때문에 SHOW ENGINE INNODB MUTEX 는 버퍼 풀 블록의 상호 배타 락 과 읽고 쓰기 잠금 을 건너 뜁니다. (각 16K 버퍼 풀 블록에 1 개의 상호 배타적 잠금과 하나의 읽고 쓰기 잠금이 존재하고 1G 바이트 당 65,536 개의 블록이 존재합니다.) SHOW ENGINE INNODB MUTEX 또한 대기되지 않았다 ( os_waits=0 ) 상호 배타 락 또는 읽기 - 쓰기 잠금도 표시하지 않습니다. 따라서 SHOW ENGINE INNODB MUTEX OS 수준의 대기 를 한 번 이상 발생시킨 버퍼 풀의 외부 상호 배타 락과 읽고 쓰기 잠금에 대한 정보 만 표시합니다.

SHOW ENGINE INNODB MUTEX 정보를 사용하면 시스템의 문제를 진단 할 수 있습니다. 예를 들어, spin_waits 과 spin_rounds 값이 큰 경우, 확장 성 문제를 나타낼 수 있습니다.

SHOW ENGINE PERFORMANCE_SCHEMA STATUS 를 사용하여 성능 스키마 코드의 내부 작업을 검사합니다.

 mysql> SHOW ENGINE PERFORMANCE_SCHEMA STATUS\G
 ...
 *************************** 3. row ******************** *******
   Type : performance_schema
   Name : events_waits_history.row_size
 Status : 76
 *************************** 4. row ******************** *******
   Type : performance_schema
   Name : events_waits_history.row_count
 Status : 10000
 *************************** 5. row ******************** *******
   Type : performance_schema
   Name : events_waits_history.memory
 Status : 760000
 ...
 *************************** 57. row ******************** *******
   Type : performance_schema
   Name : performance_schema.memory
 Status : 26459600
 ...

이 문은 다양한 성능 스키마 옵션이 메모리 요구 사항에 미치는 영향에 대해 DBA가 이해할 수 있도록하는 것을 목적으로하고 있습니다.

Name 값은 각각 내부 버퍼와 버퍼 속성을 지정하는 두 부분으로 구성됩니다. 버퍼 이름은 다음과 같이 해석합니다.

  • 테이블로 공개되지 않은 내부 버퍼는 괄호 안에 지정됩니다. 예 : (pfs_cond_class).row_size ( (pfs_mutex_class).memory .

  • performance_schema 데이터베이스의 테이블로 공개되는 내부 버퍼는 테이블 이름 (괄호없이) 지정됩니다. 예 : events_waits_history.row_size , mutex_instances.row_count .

  • 전체적으로 성능 스키마에 적용되는 값은 performance_schema 에서 시작됩니다. 예 : performance_schema.memory .

버퍼 속성에는 다음과 같은 의미가 있습니다.

  • row_size 는 구현에 사용되는 내부 레코드의 크기 (테이블의 행 크기 등)입니다. row_size 값은 변경할 수 없습니다.

  • row_count 은 내부 레코드 수 (테이블 내의 행수)입니다. row_count 값은 성능 스키마 구성 옵션을 사용하여 변경할 수 있습니다.

  • 테이블의 경우 tbl_name .memory 는 row_size 과 row_count 의 곱입니다. 전체적으로 성능 스키마의 경우 performance_schema.memory 사용되는 모든 메모리의 총 (다른 모든 memory 값의 합계)입니다.

경우에 따라 성능 스키마 구성 매개 변수와 SHOW ENGINE 값 사이에 직접적인 관계가 존재합니다. 예를 들어, events_waits_history_long.row_count 는 performance_schema_events_waits_history_long_size 에 대응합니다. 그렇지 않으면,이 관계는 더 복잡합니다. 예를 들어, events_waits_history.row_count 은 performance_schema_events_waits_history_size (스레드 당 행)에 performance_schema_max_thread_instances (스레드 수)를 곱한 값에 대응합니다.

SHOW ENGINE NDB STATUS 서버에 NDB 스토리지 엔진이 활성화되어있는 경우, SHOW ENGINE NDB STATUS 는 연결되어있는 데이터 노드의 숫자 클러스터의 연결 문자열 클러스터 바이너리 로그의 신기원 나 클러스터에 연결했을 때 에 MySQL Server에 의해 생성 된 다양한 클러스터 API 객체의 수와 같은 클러스터 상태 정보를 표시합니다. 이 문에서 샘플 출력을 보여줍니다.

mysql> SHOW ENGINE NDB STATUS;
+------------+-----------------------+--------------------------------------------------+
| Type       | Name                  | Status                                           |
+------------+-----------------------+--------------------------------------------------+
| ndbcluster | connection            | cluster_node_id=7,
  connected_host=192.168.0.103, connected_port=1186, number_of_data_nodes=4,
  number_of_ready_data_nodes=3, connect_count=0                                         |
| ndbcluster | NdbTransaction        | created=6, free=0, sizeof=212                    |
| ndbcluster | NdbOperation          | created=8, free=8, sizeof=660                    |
| ndbcluster | NdbIndexScanOperation | created=1, free=1, sizeof=744                    |
| ndbcluster | NdbIndexOperation     | created=0, free=0, sizeof=664                    |
| ndbcluster | NdbRecAttr            | created=1285, free=1285, sizeof=60               |
| ndbcluster | NdbApiSignal          | created=16, free=16, sizeof=136                  |
| ndbcluster | NdbLabel              | created=0, free=0, sizeof=196                    |
| ndbcluster | NdbBranch             | created=0, free=0, sizeof=24                     |
| ndbcluster | NdbSubroutine         | created=0, free=0, sizeof=68                     |
| ndbcluster | NdbCall               | created=0, free=0, sizeof=16                     |
| ndbcluster | NdbBlob               | created=1, free=1, sizeof=264                    |
| ndbcluster | NdbReceiver           | created=4, free=0, sizeof=68                     |
| ndbcluster | binlog                | latest_epoch=155467, latest_trans_epoch=148126,
  latest_received_binlog_epoch=0, latest_handled_binlog_epoch=0,
  latest_applied_binlog_epoch=0                                                         |
+------------+-----------------------+--------------------------------------------------+

Name 컬럼에 connection 과 binlog 를 포함하는 행은 MySQL 5.1에서이 문 출력에 추가되었습니다. 이러한 각 행의 Status 컬럼은 각각 MySQL 서버 클러스터 연결에 대한 정보와 클러스터 바이너리 로그의 상태에 대한 정보를 제공합니다. Status 정보는 쉼표로 구분 된 일련의 이름과 값 쌍의 형식을하고 있습니다.

connection 줄의 Status 열에는 다음 표에 설명되어있는 이름과 값의 쌍을 포함하고 있습니다.

이름 값
cluster_node_id 클러스터의 MySQL 서버 노드 ID
connected_host MySQL 서버가 연결되어있는 클러스터 관리 서버의 호스트 이름 또는 IP 주소
connected_port MySQL 서버가 관리 서버 ( connected_host )에 연결하는 데 사용하는 포트
number_of_data_nodes 클러스터를 위해 구성되어있는 데이터 노드의 수 (즉, 클러스터의 config.ini 파일의 [ndbd] 섹션의 수)
number_of_ready_data_nodes 실제로 실행되는 클러스터의 데이터 노드의 수
connect_count 이 mysqld가 클러스터 데이터 노드에 연결하거나 다시 연결 한 횟수

binlog 줄의 Status 컬럼은 MySQL Cluster 복제와 관련된 정보가 포함되어 있습니다. 거기에 포함되어있는 이름 - 값 쌍에 대해 다음 표에서 설명합니다.

이름 값
latest_epoch 이 MySQL 서버에서 최근에 실행 된 최신 신기원 (즉,이 서버에서 실행 된 최신 트랜잭션 시퀀스 번호)
latest_trans_epoch 클러스터의 데이터 노드에 의해 처리 된 최신의 신기원
latest_received_binlog_epoch 바이너리 로그 스레드에 의해 수신 된 최신 신기원
latest_handled_binlog_epoch (바이너리 로그에 기록하기 위해) 바이너리 로그 스레드에 의해 처리 된 최신의 신기원
latest_applied_binlog_epoch 실제로 바이너리 로그에 기록 된 최신 신기원

자세한 내용은 섹션 18.6 "MySQL Cluster 복제" 를 참조하십시오.

클러스터 모니터링에 가장 도움이 될 수있는 SHOW ENGINE NDB STATUS 출력의 나머지 행을 다음 Name 으로 나열합니다.

  • NdbTransaction : 작성된 NdbTransaction 객체의 수와 크기. NdbTransaction 는 NDB 테이블에서 ( CREATE TABLE 또는 ALTER TABLE 등) 테이블 스키마 작업이 수행 될 때마다 생성됩니다.

  • NdbOperation : 작성된 NdbOperation 객체의 수와 크기.

  • NdbIndexScanOperation : 작성된 NdbIndexScanOperation 객체의 수와 크기.

  • NdbIndexOperation : 작성된 NdbIndexOperation 객체의 수와 크기.

  • NdbRecAttr : 작성된 NdbRecAttr 객체의 수와 크기. 일반적으로이 중 하나는 SQL 노드가 데이터 조작 문이 실행될 때마다 생성됩니다.

  • NdbBlob : 작성된 NdbBlob 객체의 수와 크기. NdbBlob 은 NDB 테이블에 BLOB 컬럼에 대한 새로운 작업이 수행 될 때마다 생성됩니다.

  • NdbReceiver : 작성된 모든 NdbReceiver 객체의 수와 크기. created 컬럼의 수는 MySQL 서버가 연결되는 클러스터의 데이터 노드 수와 동일합니다.

참고

현재 세션 동안이 명령문이 실행되는 SQL 노드에 액세스하는 MySQL 클라이언트에 의해 NDB 테이블 관련 작업을 수행하지 않은 경우 SHOW ENGINE NDB STATUS 는 빈 결과를 반환합니다.


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