18.5.8 MySQL Cluster의 단일 사용자 모드
단일 사용자 모드로 데이터베이스 관리자는 데이터베이스 시스템에 대한 액세스를 MySQL 서버 (SQL 노드)과 ndb_restore 인스턴스 등 단일 API 노드로 제한 할 수 있습니다. 단일 사용자 모드로 들어가면 다른 모든 API 노드에 연결이 제대로 닫히지 실행중인 트랜잭션이 중단됩니다. 새로운 트랜잭션의 시작은 허용되지 않습니다.
클러스터가 단일 사용자 모드에 들어가면 지정된 API 노드에만 데이터베이스에 대한 액세스 권한이 부여됩니다.
ndb_mgm 클라이언트 ALL STATUS 명령을 사용하면 클러스터가 단일 사용자 모드에 들어간 타이밍을 확인할 수 있습니다. 또한 ndbinfo.nodes
테이블의 status
컬럼들을 체크 할 수 있습니다 (자세한 내용은 섹션 18.5.10.18 "ndbinfo nodes 테이블" 을 참조하십시오).
예 :
ndb_mgm> ENTER SINGLE USER MODE 5
이 명령이 실행되는 클러스터가 단일 사용자 모드로 들어가면 노드 ID가 5
의 API 노드가 클러스터에 허용 된 유일한 사용자입니다.
위의 명령에서 지정된 노드는 API 노드이어야하기 때문에 다른 노드 유형을 지정하려고해도 거부됩니다.
위의 명령이 호출되면 지정된 노드에서 실행되는 모든 트랜잭션이 중단되고 연결이 닫히므로 서버를 다시 시작해야합니다.
EXIT SINGLE USER MODE 명령은 클러스터의 데이터 노드의 상태를 단일 사용자 모드에서 일반 모드로 변경합니다. 연결을 대기하고있는 (즉, 클러스터의 준비가 사용 가능해질 때까지 대기하는) MySQL 서버 등의 API 노드는 연결이 다시 허용됩니다. 단일 사용자 노드로 지정된 API 노드는 상태 변경 또는 수정되는 후에도 계속 실행됩니다 (아직 연결되어있는 경우).
예 :
ndb_mgm> EXIT SINGLE USER MODE
단일 사용자 모드로 실행시 노드의 장애를 처리 할 때 다음의 두 가지 방법이 추천되고 있습니다.
방법 1 :
단일 사용자 모드의 트랜잭션을 종료합니다
EXIT SINGLE USER MODE 명령을 실행합니다
클러스터의 데이터 노드를 다시 시작합니다
방법 2 :
단일 사용자 모드에 들어가기 전에 데이터베이스 노드를 다시 시작합니다.