18.3.1 MySQL Cluster의 빠른 테스트 설정
여기에서는 기본을 습득하기위한 실용적인 MySQL Cluster의 가장 간단한 구성에 대해 설명합니다. 그 후,이 장의 관련 다른 부분으로 나타낸 정보에서 필요한 설정을 설계 할 수 있습니다.
첫째, 시스템의 root
사용자로 다음 명령을 실행하여 /var/lib/mysql-cluster
등의 구성 디렉토리를 작성해야합니다.
shell> mkdir /var/lib/mysql-cluster
이 디렉토리에서 다음 정보를 포함 config.ini
라는 파일을 만듭니다. 필요에 따라 HostName
및 DataDir
시스템의 적절한 값으로 대체합니다.
# file "config.ini" - showing minimal setup consisting of 1 data node, # 1 management server, and 3 MySQL servers. # The empty default sections are not required, and are shown only for # the sake of completeness. # Data nodes must provide a hostname but MySQL Servers are not required # to do so. # If you don't know the hostname for your machine, use localhost. # The DataDir parameter also has a default value, but it is recommended to # set it explicitly. # Note: [db], [api], and [mgm] are aliases for [ndbd], [mysqld], and [ndb_mgmd], # respectively. [db] is deprecated and should not be used in new installations. [ndbd default] NoOfReplicas= 1 [mysqld default] [ndb_mgmd default] [tcp default] [ndb_mgmd] HostName= myhost.example.com [ndbd] HostName= myhost.example.com DataDir= /var/lib/mysql-cluster [mysqld] [mysqld] [mysqld]
이제 ndb_mgmd 관리 서버를 시작할 수있게되었습니다. 기본적으로 현재 작업 디렉토리에있는 config.ini
파일의 읽기가 시도되기 때문에이 파일이 위치하고있는 디렉토리 위치를 이동하고 ndb_mgmd를 시작합니다.
shell>cd /var/lib/mysql-cluster
shell>ndb_mgmd
다음은 ndbd를 실행 한 데이터 노드를 시작합니다.
shell> ndbd
ndbd를 시작할 때 사용할 수있는 명령 줄 옵션은 섹션 18.4.27 "MySQL Cluster 프로그램에 공통 옵션 - MySQL Cluster 일반적인 프로그램 옵션" 을 참조하십시오.
기본적으로 ndbd은 localhost
의 포트 1186에서 관리 서버를 검색합니다.
바이너리 tarball에서 MySQL을 설치 한 경우 ndb_mgmd와 ndbd 서버의 경로를 명시 적으로 지정해야합니다. (일반적으로 이들은 /usr/local/mysql/bin
에 있습니다.)
마지막으로, MySQL 데이터 디렉토리 (일반적으로 /var/lib/mysql
또는 /usr/local/mysql/data
)에 위치를 변경하여 NDB 스토리지 엔진을 사용하는 데 필요한 옵션이 my.cnf
파일에 포함되어 있는지 확인합니다.
[mysqld] ndbcluster
이제 MySQL 서버를 정상적으로 시작할 수있게되었습니다.
shell> mysqld_safe --user=mysql &
잠시 후, MySQL 서버가 제대로 실행되고 있는지 확인합니다. 「mysql ended」
라는 알림이 표시되면 서버 .err
파일을 검사하여 어떤 문제가 있었는지를 확인합니다.
여기까지 문제없이 진행된 경우 클러스터를 사용하여 시작할 수 있습니다. 서버에 연결하여 NDBCLUSTER
스토리지 엔진이 활성화되어 있는지 확인합니다.
shell>mysql
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 to server version: 5.6.29 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>SHOW ENGINES\G
... *************************** 12. row *************************** Engine: NDBCLUSTER Support: YES Comment: Clustered, fault-tolerant, memory-based tables *************************** 13. row *************************** Engine: NDB Support: YES Comment: Alias for NDBCLUSTER ...
전 출력에 표시되는 행 번호는 서버의 구성 방법에 따라 사용하는 시스템에서 나타나는 것과 다를 수 있습니다.
NDBCLUSTER
테이블을 만들려고합니다.
shell>mysql
mysql>USE test;
Database changed mysql>CREATE TABLE ctest (i INT) ENGINE=NDBCLUSTER;
Query OK, 0 rows affected (0.09 sec) mysql>SHOW CREATE TABLE ctest \G
*************************** 1. row *************************** Table: ctest Create Table: CREATE TABLE `ctest` ( `i` int(11) default NULL ) ENGINE=ndbcluster DEFAULT CHARSET=latin1 1 row in set (0.00 sec)
노드가 제대로 설치되었는지 확인하려면 관리 클라이언트를 시작합니다.
shell> ndb_mgm
클러스터의 상태에 대한 보고서를 얻으려면 관리 클라이언트에서 SHOW 명령을 사용합니다.
ndb_mgm> SHOW
Cluster Configuration
---------------------
[ndbd(NDB)] 1 node(s)
id=2 @127.0.0.1 (Version: 5.6.27-ndb-7.4.9, Nodegroup: 0, *)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @127.0.0.1 (Version: 5.6.27-ndb-7.4.9)
[mysqld(API)] 3 node(s)
id=3 @127.0.0.1 (Version: 5.6.27-ndb-7.4.9)
id=4 (not connected, accepting connect from any host)
id=5 (not connected, accepting connect from any host)
이 시점에서 기능하는 MySQL Cluster가 성공적으로 설치되었습니다. 이제 ENGINE=NDBCLUSTER
또는 별칭 ENGINE=NDB
을 지정하여 만든 테이블을 사용하여 클러스터에 데이터를 저장할 수 있습니다.