
CentOS, RHEL 및 Fedora에서 MariaDB Galera Cluster 5.5를 설정하는 방법
MariaDB는 관계형 데이터베이스 관리 시스템(RDBMS)입니다. 일반적으로 소규모 응용 프로그램에는 단일 노드의 데이터베이스 서버를 사용하지만 수천 명의 사용자가 한 번에 온라인 상태를 유지하는 응용 프로그램을 생각하면 이러한 상황에서 이러한 부하를 처리할 수 있고 고가용성을 제공할 수 있는 구조가 필요합니다. 따라서 서로 연결된 여러 데이터베이스 서버를 추가하고 동기화를 유지해야 합니다. 따라서 서버가 다운되는 경우 다른 서버가 이를 대신하여 사용자에게 서비스를 제공할 수 있습니다. MariaDB Galera Cluster는 동기식 Active-Active 다중 마스터 클러스터입니다. MariaDB 데이터베이스. 모든 노드를 동기화된 상태로 유지합니다. MariaDB Galera 클러스터는 항상 고가용성인 동기 복제를 제공합니다(노드 중 하나가 충돌할 때 데이터 손실이 없고 데이터 복제본이 항상 일관됨). 현재 XtraDB/InnoDB 스토리지 엔진만 지원하며 Linux 플랫폼에서만 사용할 수 있습니다. 이 기사는 CentOS에서 실행되는 3개의 서버로 MariaDB Galera Cluster를 설정하는 데 도움이 될 것입니다. 클러스터 서버 세부 정보는 다음과 같습니다. 클러스터 DB1: 192.168.1.10( 호스트 이름: db1 ) 클러스터 DB2: 192.168.1.20( 호스트 이름: db2 ) 클러스터 DB3: 192.168.1.30 ( HostName: db3 ) 참고: 1/2/3 단계는 모든 클러스터 노드에서 수행해야 하며 나머지 단계는 노드에 따라 다릅니다. .err을 확인하십시오.
위의 GIF 이미지는 데이터베이스가 클러스터의 모든 노드에 제대로 복제되고 있음을 보여줍니다.
1단계: MariaDB 리포지토리 추가
시스템에서 다음 콘텐츠를 사용하여 mariadb 저장소/etc/yum.repos.d/mariadb.repo를 만듭니다. 아래 리포지토리는 CentOS 6.x 시스템에서 작동합니다. 다른 시스템의 경우repository generation tool 시스템에 추가합니다. CentOS 6 – 64비트[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/5.5/centos6-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1의 경우 CentOS 6 – 32비트
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/5.5/centos6-x86 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
2단계: MariaDB 및 Galera 설치
MariaDB Galera 클러스터 패키지를 설치하기 전에 시스템에 설치된 기존 MySQL 또는 MariaDB 패키지를 제거합니다. 그런 다음 다음 명령을 사용하여 모든 노드에 설치합니다.# yum install MariaDB-Galera-server MariaDB-client galera
3단계: 초기 MariaDB 구성
위 단계에서 패키지를 성공적으로 설치한 후 일부 초기 MariaDB 구성을 수행합니다. 다음 명령을 사용하고 클러스터의 모든 노드에 대한 지침을 따릅니다. 루트 계정 암호도 설정하라는 메시지가 표시됩니다.# mysql_secure_installation # service mysql start그런 다음 클러스터의 네트워크에서 데이터베이스에 액세스할 수 있는 모든 노드의 MariaDB에 사용자를 만듭니다.
# mysql -u root -p MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> exit클러스터 구성을 시작하기 전에 MariaDB 서비스를 중지합니다
# service mysql stop
4단계: DB1에서 클러스터 구성 설정
DB1 서버에서 MariaDB Galera 클러스터 설정을 시작합니다. MariaDB 서버 구성 파일을 편집하고 [mariadb] 섹션에 다음 값을 추가합니다.[[email protected] ~]# vim /etc/my.cnf.d/server.cnf
query_cache_size=0 binlog_format=ROW default_storage_engine=innodb innodb_autoinc_lock_mode=2 wsrep_provider=/usr/lib/galera/libgalera_smm.so wsrep_cluster_address=gcomm://192.168.1.20,192.168.1.30 wsrep_cluster_name='cluster1' wsrep_node_address='192.168.1.10' wsrep_node_name='db1' wsrep_sst_method=rsync wsrep_sst_auth=root:password다음 명령을 사용하여 클러스터를 시작합니다.
[[email protected] ~]# /etc/init.d/mysql bootstrap Bootstrapping the clusterStarting MySQL.... SUCCESS!시작하는 동안 문제가 발생하면 MariaDB 오류 로그 파일/var/lib/mysql/
5단계: MariaDB 클러스터에 DB2 추가
DB1에서 클러스터를 성공적으로 시작한 후. DB2에서 구성을 시작하십시오. MariaDB 서버 구성 파일을 편집하고 [mariadb] 섹션에 다음 값을 추가합니다. wsrep_node_address, wsrep_cluster_address 및 wsrep_node_name을 제외한 모든 설정은 DB1과 유사합니다.[[email protected] ~]# vim /etc/my.cnf.d/server.cnf
query_cache_size=0 binlog_format=ROW default_storage_engine=innodb innodb_autoinc_lock_mode=2 wsrep_provider=/usr/lib/galera/libgalera_smm.so wsrep_cluster_address=gcomm://192.168.1.10,192.168.1.30 wsrep_cluster_name='cluster1' wsrep_node_address='192.168.1.20' wsrep_node_name='db2' wsrep_sst_method=rsync wsrep_sst_auth=root:password다음 명령을 사용하여 클러스터를 시작합니다.
[[email protected] ~]# /etc/init.d/mysql start Starting MySQL..... SUCCESS!
6단계: MariaDB 클러스터에 DB3 추가
이 서버는 선택 사항입니다. 클러스터에 서버가 두 개만 있으면 이 단계를 무시할 수 있지만 DB1/DB2 구성 파일에서 세 번째 서버 IP를 제거해야 합니다. 이 서버를 추가하려면 DB2와 동일하게 변경하십시오.[[email protected] ~]# vim /etc/my.cnf.d/server.cnf
query_cache_size=0 binlog_format=ROW default_storage_engine=innodb innodb_autoinc_lock_mode=2 wsrep_provider=/usr/lib/galera/libgalera_smm.so wsrep_cluster_address=gcomm://192.168.1.10,192.168.1.20 wsrep_cluster_name='cluster1' wsrep_node_address='192.168.1.30' wsrep_node_name='db2' wsrep_sst_method=rsync wsrep_sst_auth=root:password다음 명령을 사용하여 클러스터를 시작합니다.
[[email protected] ~]# /etc/init.d/mysql start Starting MySQL..... SUCCESS!
7단계: MariaDB Galera 클러스터 설정 테스트
이 단계에서 클러스터 설정이 완료되고 제대로 실행됩니다. 이제 클러스터의 모든 서버에서 데이터베이스와 테이블을 생성하여 클러스터 설정을 테스트할 수 있습니다. 클러스터의 모든 서버에 즉시 복제됩니다.