18.5.9 Quick Reference: MySQL Cluster SQL문
이 섹션에서는 MySQL Cluster에 연결된 MySQL 서버를 관리하고 모니터하는 데 도움이 될 수있는 몇 가지 SQL 문에 대해 설명하고, 경우에 따라서 클러스터 자체에 대한 정보도 제공합니다.
SHOW ENGINE NDB STATUS
,SHOW ENGINE NDBCLUSTER STATUS
이 문 출력에는 클러스터에 서버 연결, MySQL Cluster 객체 생성 및 사용 및 MySQL Cluster 복제의 바이너리 로깅 정보가 포함되어 있습니다.
예제 및 자세한 정보는 섹션 13.7.5.16 "SHOW ENGINE 구문" 을 참조하십시오.
SHOW ENGINES
이 문을 사용하면 MySQL 서버에서 클러스터링 지원이 활성화되어 있는지, 그리고 그 경우 활성 상태인지 여부를 확인할 수 있습니다.
자세한 내용은 섹션 13.7.5.17 "SHOW ENGINES 구문" 을 참조하십시오.
참고이 문은
LIKE
절을 지원하지 않습니다. 그러나 다음 항목에서 설명하는 바와 같이,LIKE
를 사용하면INFORMATION_SCHEMA.ENGINES
테이블에 대한 쿼리를 필터링 할 수 있습니다.SELECT * FROM INFORMATION_SCHEMA.ENGINES [WHERE ENGINE LIKE 'NDB%']
이것은
SHOW ENGINES
과 동일하지만INFORMATION_SCHEMA
의ENGINES
테이블을 사용합니다.SHOW ENGINES
명령문을 사용하는 경우와는 달리LIKE
절을 사용하여 결과를 필터링하거나 특정 컬럼을 선택하여 스크립트에서 유용하게 사용할 수있는 정보를 얻을 수 있습니다. 예를 들어, 다음 쿼리는NDB
지원을 사용하여 서버가 구축되었는지 여부 및 그 경우 활성화되어 있는지 여부를 표시합니다.mysql>
SELECT SUPPORT FROM INFORMATION_SCHEMA.ENGINES
->WHERE ENGINE LIKE 'NDB%';
+---------+ | support | +---------+ | ENABLED | +---------+자세한 내용은 섹션 21.6 "INFORMATION_SCHEMA ENGINES 테이블" 을 참조하십시오.
SHOW VARIABLES LIKE 'NDB%'
이 문장은 다음과 같이
NDB
스토리지 엔진에 대한 대부분의 서버 시스템 변수 및 그 값의 목록을 표시합니다.mysql>
SHOW VARIABLES LIKE 'NDB%';
+-------------------------------------+-------+ | Variable_name | Value | +-------------------------------------+-------+ | ndb_autoincrement_prefetch_sz | 32 | | ndb_cache_check_time | 0 | | ndb_extra_logging | 0 | | ndb_force_send | ON | | ndb_index_stat_cache_entries | 32 | | ndb_index_stat_enable | OFF | | ndb_index_stat_update_freq | 20 | | ndb_report_thresh_binlog_epoch_slip | 3 | | ndb_report_thresh_binlog_mem_usage | 10 | | ndb_use_copying_alter_table | OFF | | ndb_use_exact_count | ON | | ndb_use_transactions | ON | +-------------------------------------+-------+자세한 내용은 섹션 5.1.4 "서버 시스템 변수" 를 참조하십시오.
SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME LIKE 'NDB%';
이 문은 이전 항목에서 설명한
SHOW
명령과 동일하며, 다음과 같이 거의 같은 출력을 생성합니다.mysql>
SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
->WHERE VARIABLE_NAME LIKE 'NDB%';
+-------------------------------------+----------------+ | VARIABLE_NAME | VARIABLE_VALUE | +-------------------------------------+----------------+ | NDB_AUTOINCREMENT_PREFETCH_SZ | 32 | | NDB_CACHE_CHECK_TIME | 0 | | NDB_EXTRA_LOGGING | 0 | | NDB_FORCE_SEND | ON | | NDB_INDEX_STAT_CACHE_ENTRIES | 32 | | NDB_INDEX_STAT_ENABLE | OFF | | NDB_INDEX_STAT_UPDATE_FREQ | 20 | | NDB_REPORT_THRESH_BINLOG_EPOCH_SLIP | 3 | | NDB_REPORT_THRESH_BINLOG_MEM_USAGE | 10 | | NDB_USE_COPYING_ALTER_TABLE | OFF | | NDB_USE_EXACT_COUNT | ON | | NDB_USE_TRANSACTIONS | ON | +-------------------------------------+----------------+SHOW
명령을 사용하는 경우와는 달리 개개의 컬럼을 선택할 수 있습니다. 예 :mysql>
SELECT VARIABLE_VALUE
->FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
->WHERE VARIABLE_NAME = 'ndb_force_send';
+----------------+ | VARIABLE_VALUE | +----------------+ | ON | +----------------+자세한 내용은 섹션 21.9 "INFORMATION_SCHEMA GLOBAL_VARIABLES 및 SESSION_VARIABLES 테이블" 및 섹션 5.1.4 "서버 시스템 변수" 를 참조하십시오.
SHOW STATUS LIKE 'NDB%'
이 문은 MySQL 서버가 클러스터 SQL 노드로 동작하고 있는지를 한눈에 알 수 있도록 표시하고 그 경우 다음과 같이 MySQL 서버 클러스터 노드 ID 연결된 클러스터 관리 서버의 호스트 이름 와 포트 및 클러스터의 데이터 노드의 수를 표시합니다.
mysql>
SHOW STATUS LIKE 'NDB%';
+--------------------------+---------------+ | Variable_name | Value | +--------------------------+---------------+ | Ndb_cluster_node_id | 10 | | Ndb_config_from_host | 192.168.0.103 | | Ndb_config_from_port | 1186 | | Ndb_number_of_data_nodes | 4 | +--------------------------+---------------+MySQL 서버가 클러스터 지원을 사용하여 구축되었지만 클러스터에 연결되어 있지 않으면이 문 출력의 모든 행에 0이나 빈 문자열이 저장됩니다.
mysql>
SHOW STATUS LIKE 'NDB%';
+--------------------------+-------+ | Variable_name | Value | +--------------------------+-------+ | Ndb_cluster_node_id | 0 | | Ndb_config_from_host | | | Ndb_config_from_port | 0 | | Ndb_number_of_data_nodes | 0 | +--------------------------+-------+섹션 13.7.5.36 "SHOW STATUS 구문" 을 참조하십시오.
SELECT * FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME LIKE 'NDB%';
이 문은 이전 항목에서 설명한
SHOW
명령과 동일한 출력을 생성합니다. 그러나SHOW STATUS
를 사용하는 경우와 달리SELECT
를 사용하여 모니터링 및 자동화를 위해 스크립트에서 사용하는 SQL 값을 추출 할 수 있습니다.자세한 내용은 섹션 21.8 "INFORMATION_SCHEMA GLOBAL_STATUS 및 SESSION_STATUS 테이블" 을 참조하십시오.
또한 많은 MySQL Cluster 작업에 대한 실시간 데이터에 대해 ndbinfo
정보 데이터베이스의 테이블을 쿼리 할 수 있습니다. 섹션 18.5.10 "ndbinfo MySQL Cluster 정보 데이터베이스" 를 참조하십시오.