MySQL 클러스터 구축

王林
풀어 주다: 2023-05-20 11:03:10
원래의
8391명이 탐색했습니다.

MySQL은 가장 널리 사용되는 관계형 데이터베이스 관리 시스템 중 하나이지만 단일 MySQL 서버에는 성능 병목 현상과 안정성 문제가 있습니다. 높은 부하와 높은 신뢰성에 대한 요구 사항을 충족하기 위해 MySQL 클러스터를 사용하여 이러한 문제를 해결할 수 있습니다.

MySQL 클러스터는 여러 MySQL 서버 인스턴스가 물리적 또는 가상 장치에서 함께 작동하고 실행되도록 하는 방법으로, 로드를 공유하고 가용성을 향상시켜 높은 성능과 안정성을 제공합니다. 이 기사에서는 MySQL 클러스터를 구축하는 방법을 소개합니다.

1. MySQL 클러스터 구성 요소

MySQL 클러스터는 주로 다음 구성 요소로 구성됩니다.

  1. MySQL 서버: 클러스터의 MySQL 서버는 버전과 구성이 다를 수 있습니다. 각 MySQL Server 인스턴스는 서로 다른 물리적 또는 가상 장치에서 실행됩니다.
  2. MySQL 클러스터 관리자(MCM): MySQL 클러스터에서 MySQL 서버 인스턴스를 관리하기 위한 도구 세트로, MCM의 도움으로 MySQL 클러스터를 쉽게 구성, 배포, 모니터링 및 관리할 수 있습니다.
  3. 데이터 노드: 각 데이터 노드는 데이터를 저장하고 쿼리를 실행하는 데 사용되는 MySQL Server 인스턴스입니다. MySQL 클러스터는 NDB 스토리지 엔진을 사용하여 메모리 및 디스크 데이터를 처리합니다.
  4. 관리 노드: 관리 노드는 관리 작업을 수행하고 MySQL 클러스터 구성을 제어하는 ​​노드입니다. 각 MySQL 클러스터에는 하나 이상의 관리 노드가 필요합니다.
  5. SQL 노드: SQL 노드는 MySQL 클러스터와 상호 작용하는 데 사용되는 클라이언트입니다. MySQL 클러스터는 미리 만들어진 SQL 노드를 제공하지 않습니다. MySQL Server 인스턴스를 SQL 노드로 사용해야 합니다.

2. MySQL 클러스터 구축

시작하기 전에 MySQL 서버가 설치 및 구성되어 있고 여러 컴퓨터 노드가 준비되어 있는지 확인하세요. 단순화를 위해 다음 예에서는 MySQL 클러스터가 3개의 MySQL Server 노드와 2개의 관리 노드로 구성됩니다. 각 노드에는 MySQL Server 8.0.25가 설치되어 있으며 CentOS 8 운영 체제를 사용합니다.

  1. MySQL Cluster Manager 설치

MySQL Cluster Manager(MCM)는 MySQL 클러스터를 구성하고 관리하는 핵심 부분이므로 먼저 각 노드에 MCM을 설치해야 합니다. MCM은 MySQL 공식 웹사이트에서 다운로드할 수 있습니다.

다운로드 후 다음 명령을 실행하여 설치합니다.

sudo rpm -ivh mysql-cluster-manager-1.4.10-linux-glibc2.12-x86_64.rpm

  1. MySQL 클러스터 관리자 구성

MCM 설치 후 , 초기 구성이 필요합니다. 노드 중 하나에서 이 작업을 수행하면 이 노드가 관리 노드가 됩니다.

다음 명령을 실행하여 MCM을 초기화합니다.

sudo /opt/mysql/mcm/bin/setup --config-file=/etc/mysql/mcm.ini --yes

이 명령은 /etc/mysql을 생성합니다. /mcm .ini 파일을 저장하고 기본 설정에 따라 MCM을 독립 실행형 모드로 초기화합니다. 클러스터에서 둘 이상의 노드를 사용해야 하는 경우 이 파일에 노드를 더 추가할 수 있습니다.

  1. 데이터 노드 구성

먼저 모든 노드에 mysql-community-server를 설치한 후 mysqld 서비스를 중지해야 합니다.

다음으로 데이터 노드로 사용할 수 있도록 새로운 MySQL 서버 예제를 생성합니다. 이 새 인스턴스는 기존 mysqld 설치에서 생성될 수 있습니다. 이 예에서는 버전 8.0.25에서 다음 명령을 사용하여 새 MySQL Server 인스턴스를 생성할 수 있습니다.

sudo /usr/sbin/mysqld --defaults-file=/etc/my_node1.cnf --initialize-insecure - -ignore-builtin-innodb

이 명령은 $datadir/mysql-cluster 폴더에 필요한 모든 파일과 디렉터리를 생성하는 동안 새로운 MySQL Server 인스턴스를 생성합니다.

이 명령은 모든 데이터 노드에서 실행되어야 합니다.

  1. 관리 노드 구성

데이터 노드와 마찬가지로 관리 노드를 관리 노드로 사용하려면 관리 노드에 대해 새 MySQL Server 인스턴스를 구성해야 합니다. 다음 명령을 실행하여 새 MySQL Server 인스턴스를 생성합니다.

sudo /usr/sbin/mysqld --defaults-file=/etc/my_mgmt1.cnf --initialize-insecure --ignore-builtin-innodb

이 명령은 $datadir/mysql-cluster 폴더에 필요한 모든 파일과 디렉터리를 생성하고 새로운 MySQL Server 인스턴스를 생성합니다.

이 명령은 모든 관리 노드에서 실행되어야 합니다.

  1. MySQL 클러스터 실행

이제 모든 준비가 완료되었으므로 MySQL Server 인스턴스를 하나씩 시작하고 클러스터에 연결할 수 있습니다.

먼저 관리 노드를 시작한 후 다음 명령을 실행하여 노드를 MySQL 클러스터에 조인합니다.

sudo ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial

이 명령은 ndb_mgmd를 시작합니다. 구성 파일 가져오기 및 관리 노드로 MySQL 클러스터에 참여하는 프로세스입니다. 마지막으로 관리 노드가 성공적으로 시작되었음을 확인하는 메시지가 인쇄됩니다.

다음으로 모든 데이터 노드를 시작합니다. 각 노드에서 다음 명령을 실행합니다.

sudo ndbd

이 명령은 ndbd 프로세스를 시작하고 시작된 관리 노드에 연결한 다음 MySQL 클러스터에 조인합니다. 여러 데이터 노드를 사용하는 경우 각 노드에서 이 명령을 실행해야 합니다.

마지막으로 MySQL Server 인스턴스를 SQL 노드로 시작하여 MySQL Cluster가 정상적으로 실행되는지 테스트합니다. 이 예에서는 한 노드에서 MySQL Server 인스턴스를 시작하고 MySQL 클러스터에 연결할 수 있습니다.

sudo mysqld_safe --defaults-file=/etc/my_sql1.cnf &

mysql -u root

이 명령은 MySQL을 시작합니다. 서버 인스턴스를 열고 MySQL 클라이언트를 엽니다. 그런 다음 다양한 SQL 쿼리 작업을 수행하여 클러스터가 제대로 작동하는지 테스트할 수 있습니다.

3. 요약

MySQL 클러스터 구축에 대한 기본 튜토리얼입니다. MySQL 클러스터는 성능과 안정성을 향상시킬 수 있으며 웹 애플리케이션, 전자상거래 웹사이트 등 높은 부하를 처리해야 하는 애플리케이션에 자주 사용됩니다. MCM 도구 세트를 사용하면 MySQL 클러스터를 쉽게 구성, 배포, 모니터링 및 관리할 수 있습니다. 많은 회사에서 MySQL 클러스터 설정은 필수입니다.

위 내용은 MySQL 클러스터 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿