설치 방법 및 CentOS는에 MySQL 클러스터를 구성하는 방법 7

설치 방법 및 CentOS는에 MySQL 클러스터를 구성하는 방법 7

MySQL 클러스터는 높은 가용성과 낮은 지연 시간과 MySQL의 호환 데이터베이스를 제공하도록 설계되었습니다. MySQL의 클러스터 기술은 NDB (네트워크 데이터베이스)와 NDBCLUSTER 스토리지 엔진을 통해 구현 및 MySQL 데이터베이스 시스템에 대한 비공유 클러스터링 및 자동 샤딩을 제공합니다. 공유 - 아무것도 아키텍처에서, 각 노드는 자신의 메모리와 디스크가, NFS와 같은 공유 스토리지의 사용, SAN은 권장 및 지원되지 않습니다.

MySQL의 클러스터를 구현하려면, 우리는 노드의 세 가지 유형을 설치해야. 각 노드 유형은 그것의 자신의 서버에 설치됩니다. 구성 요소는 다음과 같습니다

1. 관리 노드 - NDB_MGMD / MGM
클러스터 관리 서버는 클러스터의 다른 노드를 관리하는 데 사용됩니다. 우리는 만들고 새로운 노드를 구성 할 수 있습니다, 재시작, 지우다, 관리 노드에서 클러스터 또는 백업 노드.
2. 데이터 노드 - NDBD / NDB
노드 간의 동기화 및 데이터 복제의 과정이 일어나는 곳은 층.
3. SQL 노드 - mysqld를 / API
응용 프로그램에서 사용하는 인터페이스 서버는 데이터베이스 클러스터에 연결.

이 튜토리얼에서, 나는 당신에 CentOS와 MySQL 클러스터의 설치 및 구성 물마루 안내 7. 우리는 관리 노드를 구성합니다, 두 개의 데이터 노드, 두 개의 SQL 노드.

전제 조건

  • OS는 CentOS는 인 7 - 64비트.
  • 5 CentOS는 서버 또는 가상 머신. 아래 그림과 같이 I는 호스트 이름과 IP 주소를 사용합니다 :
  • 관리 노드
    DB1 = 192.168.1.120
  • 데이터 노드
    DB2 = 192.168.1.121
    DB3 = 192.168.1.122
  • SQL 노드
    DB4 = 192.168.1.123
    DB5 = 192.168.1.124

단계 1 - 설정 관리 노드

The first step is to create the "Management Node" with CentOS 7 DB1 및 IP 192.168.1.120. 반드시 루트 사용자로 DB1 서버에 로그인되어 있는지 확인.

에이. MySQL의 클러스터 소프트웨어를 다운로드

I은 wget과 MySQL의 사이트에서 다운로드 할 수 있습니다. I'm using the "Red Hat Enterprise Linux 7 / 오라클 리눅스 7 (86, 64-비트), RPM Bundle " here which is compatible with CentOS 7. 그런 다음 tar 파일의 압축을 풉니 다.

CD ~
wget을 http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar
MySQL의 클러스터-GPL-7.4.10-1.el7.x86_64.rpm-bundle.tar -xvf 타르

MySQL 클러스터 패키지 RPM을 설치.

비. 설치 패키지를 제거

당신은 MySQL 클러스터의 rpm 패키지를 설치하기 전에, 당신은 설치해야 펄 - 데이터 - 덤퍼 그는 MySQL을 클러스터 서버가 필요합니다. 그리고 당신은 제거해야 mariadb-libs와 우리는 MySQL 클러스터를 설치하기 전에.

냠 설치 -y 펄 - 데이터 - 덤퍼
냠 mariadb-libs가 제거 -y

기음. MySQL 클러스터를 설치

이들의 rpm 명령으로 MySQL 클러스터 패키지를 설치합니다 :

CD ~
RPM -Uvh MySQL을 클러스터 클라이언트 - GPL-7.4.10-1.el7.x86_64.rpm
RPM -Uvh MySQL을 클러스터 서버-GPL-7.4.10-1.el7.x86_64.rpm
RPM -Uvh MySQL을 클러스터 공유-GPL-7.4.10-1.el7.x86_64.rpm

오류가 있는지 없는지 확인.

디. MySQL 클러스터 구성

구성 파일에 대한 새로운 디렉토리를 생성. I will use the "/var/lib/mysql-cluster" directory.

에서 mkdir -p / var / lib / mysql-cluster이며

Then create new configuration file for the cluster management named "config.ini 파일" in the mysql-cluster directory.

CD / var / lib / mysql-cluster이며
이 config.ini 파일

아래의 구성을 붙여 넣습니다 :

[ndb_mgmd 기본]
# MGM 노드 로그 파일에 대한 디렉토리
DataDir가 = / var / lib / mysql-cluster이며
[ndb_mgmd]
#Management 노드 DB1
호스트 이름 = 192.168.1.120
[NDBD 기본]
NoOfReplicas의 2 =      # 복제본의 수
DataMemory가 = 256M     # 데이터 저장을위한 메모리 할당
IndexMemory는 = 128M    # Memory allocate for index storage
#Directory for Data Node
DataDir=/var/lib/mysql-cluster
[ndbd]
#Data Node db2
HostName=192.168.1.121
[ndbd]
#Data Node db3
HostName=192.168.1.122
[mysqld]
#SQL Node db4
HostName=192.168.1.123
[mysqld]
#SQL Node db5
HostName=192.168.1.124

파일을 저장하고 종료.

이자형. 관리 노드를 시작합니다

다음 아래의 명령을 사용하여 관리 노드를 시작합니다 :

ndb_mgmd --config 파일 = / var / lib / mysql-cluster이며 / config.ini 파일

결과는 다음과 유사해야합니다 :

MySQL 클러스터 관리 서버 mysql을 - 5.6.28 NDB-7.4.10
2016-03-22 19: 26 : 08 [MgmtSrvr] INFO -- 기본 설정 디렉토리는 'USR / MySQL의 클러스터를 /'존재하지 않는. 그것을 만들려고 ...
2016-03-22 19: 26 : 08 [MgmtSrvr] INFO -- 성공적으로 생성 된 config 디렉토리

관리 노드가 시작됩니다, now you can use command "ndb_mgm" to monitor the node:

ndb_mgm
보여 주다

클러스터 상태 확인.

MySQL의-6.6 및 NDB-7.4 : 당신은 관리 노드가 시작되었습니다 볼 수 있습니다.

단계 2 - 설정은 MySQL 클러스터 데이터 노드

우리는 사용합니다 2 데이터 노드에 대한 CentOS는 서버.

  1. DB2 = 192.168.1.121
  2. DB3 = 192.168.1.122

에이. 루트 사용자로 로그인하여 MySQL 클러스터 소프트웨어를 다운로드

SSH를 사용한 DB2 서버에 로그인 :

SSH [이메일 보호]

그런 다음 MySQL 클러스터 패키지를 다운로드하여 압축을 풉니 다

CD ~
wget을 http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar
MySQL의 클러스터-GPL-7.4.10-1.el7.x86_64.rpm-bundle.tar -xvf 타르

비. 설치 패키지를 제거

펄 - 데이터 - 덤퍼 설치하고 mariadb-libs와 제거 :

냠 설치 -y 펄 - 데이터 - 덤퍼
냠 mariadb-libs가 제거 -y

기음. MySQL 클러스터를 설치

이제 우리는 다음의 rpm 명령으로 데이터 노드에 대한 MySQL 클러스터 패키지를 설치할 수 있습니다 :

CD ~
RPM -Uvh MySQL을 클러스터 클라이언트 - GPL-7.4.10-1.el7.x86_64.rpm
RPM -Uvh MySQL을 클러스터 서버-GPL-7.4.10-1.el7.x86_64.rpm
RPM -Uvh MySQL을 클러스터 공유-GPL-7.4.10-1.el7.x86_64.rpm

오류가 있는지 없는지 확인.

디. 구성 데이터 노드

vi 편집기로 / etc 디렉토리에 새 구성 파일을 만듭니다

우리는 것들을 /etc/my.cnf

붙여 넣기 구성 아래 :

[mysqld를]
NDBCLUSTER
NDB - 커넥트 = 192.168.1.120     # 관리 노드의 IP 주소
[mysql_cluster]
NDB - 커넥트 = 192.168.1.120     # 관리 노드의 IP 주소

파일을 저장하고 종료.

Then create the new directory for the database data that we defined in the management node config file "config.ini".

에서 mkdir -p / var / lib / mysql-cluster이며

이제 데이터 노드 / ndbd를 시작 :

NDBD

결과 :

2016-03-22 19: 35 : 56 [NDBD] INFO -- 천사는 '192.168.1.120:1186'에 연결
2016-03-22 19: 35 : 56 [NDBD] INFO -- 천사 할당 nodeid가 : 2

MySQL의 클러스터 노드가 온라인.

데이터 노드 DB2는 관리 노드 IP에 연결 192.168.1.120.

이자형. 단계 2.A를 다시 실행 - 2.DB3 서버 D.

우리가 가지고 2 데이터 노드, 단계를 다시 실행하십시오 2.A - 2.우리의 제 2 데이터 노드 D.

단계 3 - 설치 SQL 노드

이 단계는 데이터베이스 응용 프로그램 액세스를 제공하는 SQL 노드에 대한 설정이 포함되어 있습니다. 우리는 사용 2 는 SQL 노드에 대한 CentOS는 서버 :

  1. DB4 = 192.168.1.123
  2. DB5 = 192.168.1.124

에이. 로그인과 MySQL 클러스터를 다운로드

루트 사용자로 DB4 서버에 로그인 :

SSH [이메일 보호]

그리고 MySQL 클러스터 패키지를 다운로드 :

CD ~
wget을 http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar
MySQL의 클러스터-GPL-7.4.10-1.el7.x86_64.rpm-bundle.tar -xvf 타르

비. 설치 패키지를 제거

펄 - 데이터 - 덤퍼를 설치하는 mariadb-libs와 제거 MySQL 클러스터와 충돌.

냠 설치 -y 펄 - 데이터 - 덤퍼
냠 mariadb-libs가 제거 -y

기음. MySQL 클러스터를 설치

MySQL의 클러스터 서버를 설치, 클라이언트와 RPM과 공유 패키지는 아래의 명령 :

CD ~
RPM -Uvh MySQL을 클러스터 클라이언트 - GPL-7.4.10-1.el7.x86_64.rpm
RPM -Uvh MySQL을 클러스터 서버-GPL-7.4.10-1.el7.x86_64.rpm
RPM -Uvh MySQL을 클러스터 공유-GPL-7.4.10-1.el7.x86_64.rpm

디. 은 SQL 노드 구성

/ etc 디렉토리에 새로운 my.cnf 파일을 만듭니다

우리는 것들을 /etc/my.cnf

아래에 붙여 넣기 구성 :

[mysqld를]
NDBCLUSTER
NDB - 커넥트 = 192.168.1.120       # 서버 관리 노드 IP 주소
default_storage_engine = NDBCLUSTER     # 기본 스토리지 엔진은 MySQL이 사용 정의합니다
[mysql_cluster]
NDB - 커넥트 = 192.168.1.120       # 서버 관리 노드 IP 주소

파일을 저장하고 편집기를 종료.

MySQL 서버를 시작하여 SQL 노드를 시작합니다

서비스 MySQL의 시작

이자형. 단계 3.A를 다시 실행 - 3.DB5 서버 D.

단계를 다시 실행하십시오 3.A - 3.제 SQL 서버 D (DB5).

단계 4 - 클러스터 모니터

클러스터의 상태를 확인하려면, 우리는 관리 노드 DB1에 로그인해야.

SSH [이메일 보호]

우리는 클러스터 상태를 확인합니다 ndb_mgm 명령을 사용할 수 있습니다 :

ndb_mgm
ndb_mgm> 보여 주다

NDB의 clsuter 상태를 확인.

또 다른 유용한 명령은 다음과 같습니다

ndb_mgm -e "all status"
ndb_mgm -e "all report memory"

단계 5 - 클러스터 테스트

우리의 새로운 MySQL 클러스터에서 테스트를 수행하려면, 우리는 SQL 노드 DB4 또는 DB5 서버에 로그인해야.

DB4 서버에 로그인 :

SSH [이메일 보호]

Change the default MySQL password that stored in ".mysql_secret" file in root directory:

CD ~
고양이 .mysql_secret

이 내 샘플입니다 :

# 화 월에서 루트 사용자에 대해 설정 한 임의의 암호 22 19: 44 : 07 2016 (현지 시간) qna3AwbJMuOnw23T

이제 다음 명령을 사용하여 암호를 변경 :

mysql_secure_installation

기존의 MySQL의 암호를 입력 한 다음 새 하나를 입력, 를 눌러 모든 확인을 위해 입력.

모두 수행 할 경우, 당신은 당신의 암호를 사용하여 MySQL의 쉘에 로그인 할 수 있습니다 :

MySQL의 -u 루트 -p

당신은 로그인 후, create a new root user with host "@", 그래서 우리는 외부에서 MySQL을 액세스 할 수 있습니다.

USER '루트'@ '%' 'aqwe123'로 식별을 만들;

바꾸다 aqwe123 with your own secure password! Now you can see the new root user with host "@" on the MySQL user list:

사용자 선택, 숙주, mysql 데이터베이스에서 user 암호가;

그리고 새로운 루트 사용자가 읽기 및 원격 노드에서 쓰기 권한을 부여합니다

ON ALL 권한을 부여 *.* '루트'@ '%'를 암호로 식별 '* 94CC7BF027327993D738E11 (암호화 된 암호)'GRANT OPTION을 TO;

부여 priveliges.

이제 DB4 서버에서 새 데이터베이스를 만들려고하면 DB5의 데이터베이스를 너무 볼 수 있습니다.

이 클러스터의 데이터 복제를 테스트하기위한 단지 샘플 결과입니다.

모든 노드는 온라인.

MySQL의 클러스터에 CentOS에 성공적으로 설치를하고있다 7 와 5 서버 노드.

결론

MySQL 클러스터는 MySQL 데이터베이스에 대한 고 가용성 및 이중화를 제공하는 기술입니다. 그것은 스토리지 엔진으로 NDB 또는 NDBCLUSTER를 사용하여 MySQL 데이터베이스에 대한 비공유 클러스터링 및 자동 샤딩을 제공합니다. 클러스터를 구현하려면, 우리는 필요 3 구성 요소 : 관리 노드 (MGM), 데이터 노드 (NDB) 및 SQL 노드 (API). 각 노드는 자신의 메모리와 디스크가 있어야합니다. NFS와 같은 네트워크 스토리지를 사용하지 않는 것이 좋습니다. 에 CentOS에 MySQL 클러스터를 설치하려면 7 최소한의 시스템, 우리는 mariadb-libs와 패키지를 제거해야, mariadb-libs와 MySQL의 클러스터 서버와 충돌 당신은 펄 - 데이터 - 덤퍼 패키지를 설치해야, 그것은 MySQL을 클러스터 서버가 필요한. MySQL의 클러스터를 설치하고 여러 CentOS는 서버에서 구성이 용이.

광고

회신을 남겨주

이 사이트는 스팸을 줄이기 위해 Akismet 플러그를 사용. 귀하의 코멘트 데이터가 처리되는 방법 알아보기.

우리는 당신에게 최고의 온라인 경험을 제공하기 위해 쿠키를 사용합니다. 동의함으로써 당신은에 따라 쿠키 사용을 허용 우리 개인 정보 정책.