18.4.7 ndb_config - MySQL Cluster 구성 정보의 추출
이 도구는 여러 소스 (MySQL Cluster 관리 노드 또는 config.ini 파일 또는 my.cnf 파일) 중 하나에서 데이터 노드, SQL 노드 및 API 노드의 현재 구성 정보를 추출합니다. 기본적으로 관리 노드가 구성 데이터 소스입니다. 기본값을 재정의하려면 --config-file 옵션 또는 --mycnf 옵션을 지정하여 ndb_config를 실행합니다. --config_from_node= 노드 ID를 지정하여 데이터 노드를 소스로 사용할 수 있습니다. node_id
ndb_config 사용할 수있는 모든 구성 매개 변수 및 그 기본값 최대 값, 최소값 및 기타 정보의 오프라인 덤프를 생성 할 수 있습니다. 이 덤프는 텍스트 또는 XML 형식으로 생성 할 수 있습니다. 자세한 내용은이 섹션 뒷부분 --configinfo 및 --xml 옵션의 설명을 참조하십시오).
--nodes , --system 또는 --connections 의 옵션 중 하나를 사용하면 결과를 섹션 ( DB , SYSTEM 또는 CONNECTIONS )에 의해 필터링 할 수 있습니다.
다음 표는 ndb_config 고유의 옵션이 포함되어 있습니다. 추가 설명이 표 다음에 있습니다. 대부분의 MySQL Cluster 프로그램 (ndb_config 포함)에 공통되는 옵션은 섹션 18.4.27 "MySQL Cluster 프로그램에 공통 옵션 - MySQL Cluster 일반적인 프로그램 옵션" 을 참조하십시오.
표 18.82이 표는 ndb_config 프로그램의 명령 행 옵션에 대해 설명하고 있습니다
| 형식 | 설명 | 추가 또는 삭제 |
|---|---|---|
| 노드 정보 (DB 섹션)만을 출력합니다. | 모든 MySQL 5.6 기반 자료 |
| CONNECTIONS 섹션 정보 만 출력합니다. --nodes 옵션 또는 --system 옵션과 함께 사용할 수 없습니다. | 모든 MySQL 5.6 기반 자료 |
| 하나 이상의 쿼리 옵션 (속성) | 모든 MySQL 5.6 기반 자료 |
| 호스트를 지정합니다 | 모든 MySQL 5.6 기반 자료 |
| 노드 유형을 지정합니다 | 모든 MySQL 5.6 기반 자료 |
| 이 ID 노드의 구성을 가져옵니다 | 모든 MySQL 5.6 기반 자료 |
| 필드 구분자 | 모든 MySQL 5.6 기반 자료 |
| 행 단락 문자 | 모든 MySQL 5.6 기반 자료 |
| config.ini 파일의 경로를 설정합니다 | 모든 MySQL 5.6 기반 자료 |
| my.cnf 파일에서 구성 데이터를 읽습니다 | 모든 MySQL 5.6 기반 자료 |
| --ndb-connectstring의 단축형 | 모든 MySQL 5.6 기반 자료 |
| 모든 NDB 구성 매개 변수에 대한 정보를 기본값 최대 값 및 최소값과 함께 텍스트 형식으로 덤프합니다. XML 출력을 얻으려면 - xml 함께 사용합니다. | 모든 MySQL 5.6 기반 자료 |
| 모든 NDB 구성 매개 변수의 덤프를 기본값 최대 값 및 최소값과 함께 XML 형식으로 취득하려면 - configinfo에 -xml을 사용합니다. | 모든 MySQL 5.6 기반 자료 |
| SYSTEM 섹션 정보 만 출력합니다. --nodes 옵션 또는 --connections 옵션과 함께 사용할 수 없습니다. | 모든 MySQL 5.6 기반 자료 |
| 이 ID의 노드 (데이터 노드 여야합니다)에서 구성 데이터를 검색합니다. | 모든 MySQL 5.6 기반 자료 |
--usage,--help또는-?명령 줄 형식 --help--usagendb_config가 사용 가능한 옵션 목록을 출력하고 종료합니다.
--config_from_node=#명령 줄 형식 --config_from_node=#허용되는 값 유형 numeric기본 none최소 1최대 값 48이 ID를 가진 데이터 노드에서 클러스터 구성 데이터를 가져옵니다.
이 ID를 가진 노드가 데이터 노드가 아닌 경우 ndb_config 오류로 실패합니다 (대신 관리 노드에서 구성 데이터를 검색하려면 단순히이 옵션을 생략합니다).
--version,-V명령 줄 형식 --versionndb_config 버전 정보 문자열을 출력하고 종료합니다.
--ndb-connectstring=,connect_string-cconnect_string명령 줄 형식 --ndb-connectstring=connectstring--connect-string=connectstring허용되는 값 유형 string기본 localhost:1186관리 서버에 연결하는 데 사용하는 연결 문자열을 지정합니다. 이 연결 문자열의 형식은 섹션 18.3.2.3 "MySQL Cluster의 연결 문자열" 에서 설명한 것과 동일한이며, 기본값은
localhost:1186입니다.--config-file=path-to-file명령 줄 형식 --config-file=path허용되는 값 유형 file name기본 관리 서버의 구성 파일 (
config.ini)에 대한 경로를 지정합니다. 여기에는 상대 또는 절대 경로를 지정할 수 있습니다. ndb_config가 선언 된 호스트와 다른 호스트에 관리 노드가있는 경우는 절대 경로를 사용해야합니다.--mycnf명령 줄 형식 --mycnf허용되는 값 유형 boolean기본 FALSEmy.cnf파일에서 구성 데이터를 읽습니다.--query=,query-options-qquery-options명령 줄 형식 --query=string허용되는 값 유형 string기본 이것은 쿼리 옵션의 쉼표로 구분 된 목록입니다. 즉, 하나 이상의 반환되는 노드 속성의 목록입니다. 여기에는
id(노드 ID), 타입 (노드 타입. 즉,ndbd,mysqld또는ndb_mgmd), 그리고 값이 취득되는 구성 매개 변수가 포함됩니다.예를 들어,
--query=id,type,indexmemory,datamemory은 각 노드의 노드 ID, 노드 유형,DataMemory및IndexMemory를 리턴합니다.참고지정된 매개 변수가 특정 유형의 노드에 맞지 않는 경우 해당 값은 빈 문자열이 반환됩니다. 자세한 내용은이 섹션 뒷부분의 예를 참조하십시오.
--host=hostname명령 줄 형식 --host=name허용되는 값 유형 string기본 구성 정보를 취득하는 노드의 호스트 이름을 지정합니다.
참고호스트 이름
localhost는 일반적으로 IP 주소127.0.0.1로 해결됩니다 만, 이것은 모든 운영 플랫폼 및 구성에 이렇게된다고는 할 수 없습니다. 이것은config.ini에localhost를 사용하여localhost가 다른 주소로 확인된다 (예를 들어, 일부 버전의 SUSE Linux에서는이127.0.0.2입니다) 다른 호스트에서 ndb_config가 실행되고 있는 경우 ndb_config--host=localhost가 실패 할 수 있다는 것을 의미합니다. 일반적으로 최상의 결과를 얻으려면 호스트에 관련된 모든 MySQL Cluster 구성 값에 숫자 IP 주소를 사용하거나 모든 MySQL Cluster 호스트가localhost를 동일하게 취급하고 있는지 확인하십시오.--id=node_id--nodeid=node_id명령 줄 형식 --ndb-nodeid=#허용되는 값 유형 numeric기본 0구성 정보를 수집하는 노드의 ID를 지정하는 경우 이러한 옵션 중 하나를 사용할 수 있습니다. 권장되는 형식은
--nodeid입니다.--nodes명령 줄 형식 --nodes허용되는 값 유형 boolean기본 FALSEDB섹션에 정의 된 파라미터 정보 만 출력하도록 ndb_config에 통지합니다. 이 옵션은--connections또는--system과 함께 사용할 수 없습니다.--connections명령 줄 형식 --connections허용되는 값 유형 boolean기본 FALSECONNECTIONS정보만을 출력하도록 ndb_config에 통지합니다. 이 옵션은--nodes또는--system과 함께 사용할 수 없습니다.--system명령 줄 형식 --system허용되는 값 유형 boolean기본 FALSESYSTEM의 정보만을 출력하도록 ndb_config에 통지합니다.이 옵션은
--nodes옵션 또는--system옵션과 함께 사용할 수 없습니다.--type=node_type명령 줄 형식 --type=name허용되는 값 유형 enumeration기본 [none]유효한 값 ndbdmysqldndb_mgmd지정한
node_type노드 (ndbd,mysqld또는ndb_mgmd)에 해당하는 구성 값 만 반환되도록 결과를 필터링합니다.--fields=,delimiter-fdelimiter명령 줄 형식 --fields=string허용되는 값 유형 string기본 결과의 필드를 구분하는 데 사용되는
delimiter문자열을 지정합니다. 기본값은 ","(쉼표)입니다.참고delimiter공백 또는 이스케이프 (개행 문자\n등)가 포함되어 있으면 따옴표로 묶어야합니다.--rows=,separator-rseparator명령 줄 형식 --rows=string허용되는 값 유형 string기본 결과 행을 구분하는 데 사용되는
separator문자열을 지정합니다. 디폴트는 공백 문자입니다.참고separator에 공백이나 이스케이프 (개행 문자\n등)가 포함되어 있으면 따옴표로 묶어야합니다.--configinfo--configinfo옵션을 지정하면 ndb_config가 속한 MySQL Cluster 배포에서 지원되는 다음의 정보를 포함 각 MySQL Cluster 구성 매개 변수의 목록을 ndb_config가 덤프합니다.각 매개 변수의 목적, 효과 및 사용 방법에 대한 간단한 설명
매개 변수를 사용할 수있는
config.ini파일의 섹션매개 변수의 데이터 유형 또는 단위
해당하는 경우 매개 변수의 디폴트 값, 최소값 및 최대 값
매개 변수의 목적, 효과 및 사용 방법에 대한 간단한 설명
MySQL Cluster 릴리스 버전 및 빌드 정보
기본적으로이 출력은 텍스트 형식입니다. 이 출력의 일부를 보여줍니다.
shell>
ndb_config --configinfo****** SYSTEM ****** Name (String) Name of system (NDB Cluster) MANDATORY PrimaryMGMNode (Non-negative Integer) Node id of Primary ndb_mgmd(MGM) node Default: 0 (Min: 0, Max: 4294967039) ConfigGenerationNumber (Non-negative Integer) Configuration generation number Default: 0 (Min: 0, Max: 4294967039) ****** DB ****** MaxNoOfSubscriptions (Non-negative Integer) Max no of subscriptions (default 0 == MaxNoOfTables) Default: 0 (Min: 0, Max: 4294967039) MaxNoOfSubscribers (Non-negative Integer) Max no of subscribers (default 0 == 2 * MaxNoOfTables) Default: 0 (Min: 0, Max: 4294967039) …--configinfo--xml명령 줄 형식 --configinfo --xml허용되는 값 유형 boolean기본 false--xml옵션을 추가하여 ndb_config--configinfo의 출력을 XML로 가져올 수 있습니다. 출력 결과의 일부를 다음 예제입니다.shell>
ndb_config --configinfo --xml<configvariables protocolversion="1" ndbversionstring="5.6.27-ndb-7.3.12" ndbversion="458758" ndbversionmajor="7" ndbversionminor="0" ndbversionbuild="6"> <section name="SYSTEM"> <param name="Name" comment="Name of system (NDB Cluster)" type="string" mandatory="true"/> <param name="PrimaryMGMNode" comment="Node id of Primary ndb_mgmd(MGM) node" type="unsigned" default="0" min="0" max="4294967039"/> <param name="ConfigGenerationNumber" comment="Configuration generation number" type="unsigned" default="0" min="0" max="4294967039"/> </section> <section name="NDBD"> <param name="MaxNoOfSubscriptions" comment="Max no of subscriptions (default 0 == MaxNoOfTables)" type="unsigned" default="0" min="0" max="4294967039"/> <param name="MaxNoOfSubscribers" comment="Max no of subscribers (default 0 == 2 * MaxNoOfTables)" type="unsigned" default="0" min="0" max="4294967039"/> … </section> … </configvariables>참고일반적으로 ndb_config
--configinfo--xml의해 생성되는 XML 출력은 행당 요소의 형식이 사용되지만 위의 예제와 다음 예제에서는 가독성을 위해 공백을 추가합니다. 대부분의 XML 프로세서는 정상 처리로 불필요한 공백이 무시되거나 무시하도록 지시 할 수 있기 때문에 이에 따라이 출력을 사용하는 응용 프로그램에 차이가 생기지 않는 것입니다.이 XML 출력은 특정 매개 변수가 변경되었을 때
--initial옵션을 사용하여 데이터 노드를 다시 시작해야 할 수도 보여줍니다. 이것은 해당<param>요소에initial="true"속성이 표시 됨으로써 나타납니다. 또한 재부팅 유형 (system또는node)도 표시됩니다. 이것은 특정 파라미터에 시스템 다시 시작이 요구되는 경우에 해당<param>요소에restart="system"속성이 표시 됨으로써 나타납니다. 예를 들어,Diskless매개 변수의 값 세트를 변경하면 아래에 표시된 바와 같이 시스템의 초기 재부팅이 필요합니다 (restart특성 및initial속성이 볼 수 있도록 강조 표시되어 있습니다).<param name="Diskless" comment="Run wo/ disk" type="bool" default="false" restart="system" initial="true"/>현재 초기 다시 시작할 필요가 없을 파라미터에 대응하는
<param>요소의 XML 출력은initial속성은 표시되지 않습니다. 즉,initial="false"가 기본이며, 속성이 표시되지 않은 경우는 값false를 가정합니다. 마찬가지로 기본 재부팅 유형은node(즉, 클러스터의 온라인 또는 "롤링"다시 시작)이지만,restart속성은 다시 시작 유형이system(모든 클러스터 노드를 동시에 종료하고 다시 시작해야 있다는 것을 의미합니다) 인 경우에만 표시됩니다.중요--xml옵션은--configinfo옵션을 지정한 경우에만 사용할 수 있습니다.--configinfo를 지정하지 않고--xml을 사용하면 오류와 함께 실패합니다.현재 구성 데이터를 검색하기 위해이 프로그램에 사용되는 옵션과 달리 ndb_config가 컴파일 된 경우
--configinfo및--xml는 MySQL Cluster 소스에서 가져온 정보를 사용합니다. 따라서이 두 옵션의 경우 실행되는 MySQL Cluster에 연결하거나config.ini파일 또는my.cnf파일에 액세스 할 필요가 없습니다.다른 ndb_config 옵션 (
--query,--type등)을--configinfo또는--xml과 함께 지원되지 않습니다. 현재 그렇게하려고하면 일반적으로--configinfo또는--xml이외의 모든 옵션이 무시됩니다. 그러나이 동작은 보증되지 않고 향후 변경 될 수 있습니다. 또한--configinfo옵션을 지정하여 사용하는 경우 ndb_config는 MySQL Cluster에 액세스하지 않고 어떤 파일도 읽어 않기 때문에--ndb-connectstring,--config-file등의 추가 옵션을--configinfo과 함께 지정하려고해도 의미가 없습니다.
Examples
클러스터의 노드 ID 및 각 노드의 타입을 취득하려면 다음과 같이합니다.
shell>
./ndb_config --query=id,type --fields=':' --rows='\n'1:ndbd 2:ndbd 3:ndbd 4:ndbd 5:ndb_mgmd 6:mysqld 7:mysqld 8:mysqld 9:mysqld이 예에서는
--fields옵션을 사용하여 ID 및 각 노드의 타입을 콜론 (:)으로 구분하고--rows옵션을 사용하여 각 노드의 값을 새 줄에 출력하고 있습니다.데이터 노드, SQL 노드 및 API 노드가 관리 서버에 연결하는 데 사용할 수있는 연결 문자열을 생성하려면 다음과 같이합니다.
shell>
./ndb_config --config-file=usr/local/mysql/cluster-data/config.ini \ --query=hostname,portnumber --fields=: --rows=, --type=ndb_mgmd192.168.0.179:1186이 ndb_config 호출에서는 데이터 노드 만 검사 (
--type옵션을 사용하고 있습니다) 각 노드의 ID와 호스트 이름 값 및DataMemory,IndexMemory,DataDir파라미터의 값 세트가 표시됩니다.shell>
./ndb_config --type=ndbd --query=id,host,datamemory,indexmemory,datadir -f ' : ' -r '\n'1 : 192.168.0.193 : 83886080 : 18874368 : /usr/local/mysql/cluster-data 2 : 192.168.0.112 : 83886080 : 18874368 : /usr/local/mysql/cluster-data 3 : 192.168.0.176 : 83886080 : 18874368 : /usr/local/mysql/cluster-data 4 : 192.168.0.119 : 83886080 : 18874368 : /usr/local/mysql/cluster-data이 예제에서는 짧은 옵션
-f및-r를 필드 구분 문자 및 행 구분자 설정에 각각 사용했다.특정 하나의 호스트가 아닌 호스트를 결과에서 제외하려면
--host옵션을 사용합니다.shell>
./ndb_config --host=192.168.0.176 -f : -r '\n' -q id,type3:ndbd 5:ndb_mgmd또한이 예제에서는 짧은 형식
-q를 사용하여 문의 특성을 지정합니다.마찬가지로 특정 ID의 노드에 결과를 제한하려면
--id옵션 또는--nodeid옵션을 사용합니다.