18.5.2 MySQL Cluster 관리 클라이언트 명령
주요 구성 파일에 추가하여 관리 클라이언트 ndb_mgm에서 사용 가능한 명령 줄 인터페이스를 사용하여 클러스터를 제어 할 수 있습니다. 이것은 실행중인 클러스터에 대한 기본 관리 인터페이스입니다.
이벤트 로그 명령은 섹션 18.5.6 "MySQL Cluster에서 생성 된 이벤트 보고서" 에 보여줍니다. 백업을 만들기위한 명령 및 백업에서 복원하기위한 명령은 섹션 18.5.3 "MySQL Cluster의 온라인 백업" 에서 설명하고 있습니다.
MySQL Cluster Manager에서 ndb_mgm 사용 MySQL Cluster Manager는 프로세스의 시작 및 중지 처리 된 프로세스의 상태가 내부적으로 추적되기 때문에 MySQL Cluster Manager의 제어하에있는 MySQL Cluster에서는 이러한 작업에 ndb_mgm를 사용할 필요가 없습니다. 노드의 시작 또는 중지가 수반 작업을 수행 할 때 MySQL Cluster 배포에 포함 된 ndb_mgm 명령 행 클라이언트를 사용하지 않는 것이 좋습니다. 여기에는 START
, STOP
, RESTART
및 SHUTDOWN
이 포함되지만 이에 국한되지 않습니다. 자세한 내용은 MySQL Cluster Manager Process Commands 을 참조하십시오.
관리 클라이언트는 다음과 같은 기본적인 명령이 준비되어 있습니다. 다음 목록에서는 node_id
는 데이터베이스 노드 ID 또는 클러스터의 데이터 노드의 모든 명령을 적용 할 것을 나타내는 키워드 ALL
을 나타냅니다.
HELP
사용 가능한 모든 명령에 대한 정보를 표시합니다.
SHOW
클러스터의 상태에 대한 정보를 표시합니다. 수있는 노드 상태의 값은
UNKNOWN
,NO_CONTACT
,NOT_STARTED
,STARTING
,STARTED
,SHUTTING_DOWN
및RESTARTING
가 포함되어 있습니다. 이 명령의 출력은 클러스터가 단일 사용자 모드 (상태SINGLE USER MODE
)되는시기도 표시됩니다.node_id
STARTnode_id
에 의해 식별되는 데이터 노드 (또는 모든 데이터 노드)를 온라인으로합니다.ALL START
은 모든 데이터 노드에서만 실행하고 관리 노드에는 영향을주지 않습니다.중요이 명령을 사용하여 데이터 노드를 온라인으로하려면 ndbd
--nostart
또는 ndbd-n
을 사용하여 데이터 노드가 시작되어 있어야합니다.node_id
STOP [-a] [-f]node_id
에 의해 식별되는 데이터 노드 또는 관리 노드를 중지합니다.ALL STOP
은 모든 데이터 노드를 정지시키기 위해 뿐이며, 관리 노드에는 영향을주지 않습니다.이 명령의 영향을받는 노드는 클러스터에서 연결이 끊어 그에 관련된 ndbd 또는 ndb_mgmd 프로세스는 종료됩니다.
-a
옵션을 사용하면 보류중인 트랜잭션이 완료 될 때까지 기다리지 않고 즉시 노드가 중지됩니다.일반적으로 결과로 불완전한 클러스터가 생성되는 경우,
STOP
에 실패합니다.-f
옵션을 사용하면이를 확인하지 않고 강제로 노드가 종료됩니다. 이 옵션이 사용되어 결과가 불완전한 클러스터 인 경우는 즉시 클러스터가 종료됩니다.경고또한
-a
옵션을 사용하면 노드가 정지 되어도 불완전한 클러스터가 생성되지 않도록,STOP
호출시에 본래 수행되는 안전 검사도 해제됩니다. 즉,STOP
명령에-a
옵션을 사용하면 클러스터는NDB
에 저장된 모든 데이터의 완전한 사본을 보관하지 않기 때문에 강제로 종료 될 가능성이있는 것으로 써,이 옵션을 사용하는 때는 세심한주의를 지불하십시오.node_id
RESTART [-n] [-i] [-a] [-f]node_id
에 의해 식별되는 데이터 노드 (또는 모든 데이터 노드)를 다시 시작합니다.RESTART
에서-i
옵션을 사용하면 데이터 노드가 초기 재부팅을 수행합니다. 즉, 노드의 파일 시스템이 삭제되고 다시 생성됩니다. 이 효과는 데이터 노드 프로세스를 중지하고 시스템 쉘에서 ndbd--initial
을 사용하여 다시 시작하는 것으로 실현되는 효과와 동일합니다. 이 옵션을 사용하여 백업 파일 및 디스크 데이터 파일은 삭제되지 않습니다.-n
옵션을 사용하면 데이터 노드 프로세스가 다시 시작되지만 실제로는 적절한START
명령이 발행 될 때까지 데이터 노드는 온라인 상태가되지 않습니다. 이 옵션의 효과는 데이터 노드를 중지하고 시스템 쉘에서 ndbd--nostart
또는 ndbd-n
을 사용하여 다시 시작하는 것으로 실현되는 효과와 동일합니다.-a
를 사용하면이 노드에 의존하는 현재의 트랜잭션이 중단됩니다. 노드가 클러스터에 다시 참여할 때 GCP 검사가 수행되지 않습니다.일반적으로 노드를 오프라인으로 전환함으로써 불완전한 클러스터가 생성되는 경우,
RESTART
가 실패합니다.-f
옵션을 사용하면이를 확인하지 않고 강제로 노드가 다시 시작됩니다. 이 옵션이 사용되어 결과가 불완전한 클러스터 인 경우는 전체 클러스터가 다시 시작됩니다.node_id
STATUSnode_id
에 의해 식별되는 데이터 노드 (또는 모든 데이터 노드)의 상태 정보를 표시합니다.이 명령의 출력은 클러스터가 단일 사용자 모드로 타이밍도 표시됩니다.
node_id
REPORTreport-type
node_id
에 의해 식별되는 데이터 노드 또는ALL
을 사용하는 모든 데이터 노드에 대한report-type
유형의 보고서를 표시합니다.현재
report-type
에는 다음 두 가지 값을 허용하고 있습니다.BackupStatus
에서 진행중인 클러스터 백업에 대한 상태 보고서가 제공됩니다.MemoryUsage
는 다음의 예와 같이 각 데이터 노드에서 사용되는 데이터 메모리와 인덱스 메모리의 양이 표시됩니다.ndb_mgm>
ALL REPORT MEMORY
Node 1: Data usage is 5%(177 32K pages of total 3200) Node 1: Index usage is 0%(108 8K pages of total 12832) Node 2: Data usage is 5%(177 32K pages of total 3200) Node 2: Index usage is 0%(108 8K pages of total 12832)이 정보는
ndbinfo.memoryusage
테이블에서 얻을 수 있습니다.
report-type
은 대문자와 소문자가 구별되지 않고, "모호한"입니다.MemoryUsage
는MEMORY
(위의 예에서 알 수 있듯이),memory
, 또는 단순히MEM
(또는mem
)를 사용할 수 있습니다.BackupStatus
역시 줄일 수 있습니다.ENTER SINGLE USER MODE
node_id
단일 사용자 모드를 시작합니다. 그러면 노드 ID
node_id
에 의해 식별되는 MySQL 서버에만 데이터베이스에 대한 액세스가 허용됩니다.현재 단일 사용자 모드로 실행하는 경우, 데이터 노드가 MySQL Cluster에 참가할 수 없습니다. (Bug # 20395)
EXIT SINGLE USER MODE
단일 사용자 모드를 종료합니다. 그러면 모든 SQL 노드 (즉, 실행중인 모든 mysqld 프로세스)가 데이터베이스에 액세스 할 수 있습니다.
참고단일 사용자 모드가 아닌 경우에도
EXIT SINGLE USER MODE
를 사용할 수 있지만이 경우 명령의 효과는 없습니다.QUIT
,EXIT
관리 클라이언트를 종료합니다.
이 명령은 클러스터에 연결된 노드에 영향을주지 않습니다.
SHUTDOWN
모든 클러스터 데이터 노드 및 관리 노드를 종료합니다. 이것이 실행 된 후에 관리 클라이언트를 종료하려면
EXIT
또는QUIT
를 사용합니다.이 명령은 클러스터에 연결된 모든 SQL 노드 또는 API 노드도 종료하지 않습니다.
CREATE NODEGROUP
nodeid
[,nodeid
, ...]새로운 MySQL Cluster 노드 그룹을 만들고 여기에 데이터 노드를 가입시킵니다.
이 명령은 새로운 데이터 노드를 온라인으로 MySQL Cluster에 추가 한 다음에 사용하고이를 새로운 노드 그룹에 참여시키고이를 통해 클러스터에 완전한 참여를 시작합니다. 이 명령은 유일한 매개 변수로 노드 ID를 쉼표로 구분 된 목록을 가지고 있지만, 이들은 방금 추가 한 새 노드 그룹에 참여하게된다 노드의 ID입니다. 노드의 수는 이미 클러스터의 일부인 각 노드 그룹 내의 노드 수와 동일해야합니다 (각 MySQL Cluster 노드 그룹은 같은 수의 노드를 가질 필요가 있습니다). 즉, MySQL Cluster에 각각 2 개의 데이터 노드를 가진 2 개의 노드 그룹이 포함되어있는 경우, 새로운 노드 그룹도 2 개의 데이터 노드를 가질 필요가 있습니다.
이 명령으로 생성 된 새로운 노드 그룹 노드 그룹 ID가 자동으로 결정되어 항상 클러스터에서 다음 최대 사용하지 않는 노드 그룹 ID 될 것이다, 수동으로 설정할 수 없습니다.
자세한 내용은 섹션 18.5.13 "MySQL Cluster 데이터 노드의 온라인 추가" 를 참조하십시오.
DROP NODEGROUP
nodegroup_id
지정된
nodegroup_id
을 가진 MySQL Cluster 노드 그룹을 삭제합니다.이 명령을 사용하면 MySQL Cluster에서 노드 그룹을 삭제할 수 있습니다.
DROP NODEGROUP
는 유일한 인수로 제거 할 노드 그룹의 노드 그룹 ID를 가지고 있습니다.DROP NODEGROUP
는 영향을받는 노드 그룹의 데이터 그룹을 노드 그룹에서 제거하는 데에만 작동합니다. 데이터 노드는 중지되지 않고 다른 노드 그룹에 할당하고 클러스터 구성에서 제거되지 않습니다. 노드 그룹에 속하지 않는 데이터 노드는 다음과 같이 (굵은 텍스트를 사용하여 같이) 노드 그룹 ID 대신no nodegroup
을 붙인 관리 클라이언트의SHOW
명령의 출력에 표시됩니다.id=3 @10.100.2.67 (5.6.27-ndb-7.4.9, no nodegroup)
MySQL Cluster NDB 7.0.4 이전에서는
DROP NODEGROUP
다음에SHOW
의 출력이 제대로 업데이트되지 않았습니다. (Bug # 43413)DROP NODEGROUP
은 삭제되는 노드 그룹의 모든 데이터 노드에 테이블 데이터와 테이블 정의가 전혀 존재하지 않는 경우에만 작동합니다. 현재는 ndb_mgm 또는 mysql 클라이언트를 사용하여 특정 데이터 노드와 노드 그룹에서 모든 데이터를 삭제하는 방법이 없기 때문에, 이것은 다음과 같은 두 가지 경우에만 명령이 성공하는 것을 의미 합니다.ndb_mgm 클라이언트에서
CREATE NODEGROUP
을 발행 한 후 mysql 클라이언트에서 임의의ALTER ONLINE TABLE ... REORGANIZE PARTITION
명령문을 발행 할 때까지.DROP TABLE
를 사용하여 모든NDBCLUSTER
테이블을 삭제 한 후.TRUNCATE TABLE
은 테이블 데이터 만 제거하기 때문에이 목적이 작동하지 않습니다. 테이블의 메타 데이터가 삭제되는DROP TABLE
문이 발행 될 때까지 데이터 노드는 계속NDBCLUSTER
테이블의 정의가 포함됩니다.
DROP NODEGROUP
대한 자세한 내용은 섹션 18.5.13 "MySQL Cluster 데이터 노드의 온라인 추가" 를 참조하십시오.