웹사이트 검색

RHEL 8에서 MySQL 마스터-슬레이브 복제를 설정하는 방법


MySQL 복제는 한 서버의 데이터가 자동으로 다른 백업 서버에 실시간으로 복사되거나 복제되는 프로세스입니다. 복제는 중복성과 내결함성을 제공하며 마스터 서버에 장애가 발생한 후에도 데이터를 계속 복구할 수 있다는 점에서 사용자에게 안심을 제공합니다.

이 튜토리얼에서는 RHEL 8 Linux에서 MySQL 마스터-슬레이브 복제를 구성하고 설정하는 방법을 배우게 됩니다.

전제 조건

설정에는 다음 IP 주소를 사용하여 RHEL 8을 실행하는 두 대의 서버가 있습니다.

Master = 173.82.120.14
Slave  = 173.82.115.165

이제 RHEL 8 Linux에서 MySQL 마스터-슬레이브 복제 설정을 구성하는 방법을 살펴보겠습니다.

1단계: 마스터 및 슬레이브 서버에 MySQL 설치

1. 최신 버전의 MySQL 8.x는 이미 RHEL 8의 기본 저장소에 포함되어 있으며 다음을 사용하여 설치할 수 있습니다. 냠 명령.

yum -y install @mysql

2단계: 마스터 및 슬레이브 서버에서 MySQL 보안

설치 후에는 방금 설치한 MySQL 서비스를 시작하고 서버를 시작할 때마다 자동으로 시작되도록 해야 합니다. 따라서 다음 명령을 사용하십시오.

systemctl enable mysqld
systemctl start mysqld

다음으로, 루트 비밀번호 설정, 익명 사용자 제거, 원격 루트 로그인 금지, 테스트 데이터베이스 제거 및 권한 다시 로드와 같은 여러 보안 기반 작업과 함께 제공되는 보안 스크립트를 실행하여 MySQL 설치를 보호해야 합니다.

mysql_secure_installation

프롬프트의 나머지 부분을 진행하고 모든 질문에 로 대답하여 최상의 보안 방식에 맞게 서버를 설정하세요.

3단계: MySQL 마스터 서버 구성

마스터 서버 구성을 시작하려면 다음 명령을 입력하여 MySQL 구성 파일을 엽니다.

sudo vim /etc/my.cnf

mysqld 섹션에 아래와 같이 줄을 추가합니다.

bind-address =173.82.120.14
server-id = 1
log_bin =mysql-bin

마지막으로 MySQL 서비스를 다시 시작하세요.

sudo systemctl restart mysqld

이제 복제 사용자를 생성하겠습니다. 따라서 MySQL 마스터 서버에 루트 사용자로 로그인하고 비밀번호를 제공하십시오.

sudo mysql -u root -p

이제 다음 명령을 실행하여 복제본 사용자를 생성하는 동시에 사용자에게 슬레이브 액세스 권한을 부여합니다. 귀하의 컴퓨터 IP 주소를 사용하는 것을 잊지 마십시오.

mysql> CREATE USER 'replica'@'173.82.115.165' IDENTIFIED BY 'strong_password';
mysql> GRANT REPLICATION SLAVE ON *.*TO 'replica'@'173.82.115.165';

이제 바이너리 파일 이름과 위치를 인쇄하는 다음 명령을 입력합니다.

mysql> SHOW MASTER STATUS\G

결과 파일 이름 msql-bin.000002와 해당 위치 939를 기록해 두십시오.

4단계: MySQL 슬레이브 서버 구성

마스터 설정 과정과 마찬가지로 mysql 슬레이브 구성 파일을 다음과 같이 변경해야 합니다.

sudo vim  /etc/my.cnf

구성 파일의 mysqld 섹션 아래에 다음 줄을 추가합니다.

bind-address =173.82.115.165
server-id = 2
log_bin =mysql-bin

서버를 다시 시작하십시오.

sudo systemctl restart mysqld

이제 다음 단계는 마스터 서버에서 복제하도록 슬레이브 서버를 구성하는 것입니다. MySQL 서버에 로그인합니다.

sudo mysql -u root -p

먼저 복제 스레드를 중지합니다.

mysql> STOP SLAVE;

이제 마스터 서버에서 복제하도록 슬레이브를 구성하는 다음 쿼리를 실행합니다.

mysql> CHANGE MASTER TO
    -> MASTER_HOST='173.82.120.14' ,
    -> MASTER_USER='replica' ,
    -> MASTER_PASSWORD='Jupiter@2030' ,
    -> MASTER_LOG_FILE='mysql-bin.000002' ,
    -> MASTER_LOG_POS=939;

올바른 IP 사용자 이름과 비밀번호를 사용하고 있는지 확인하세요. 또한 마스터 서버에서 얻은 파일 이름과 위치를 사용하십시오.

마지막으로 다음 명령을 입력하여 슬레이브 스레드를 시작합니다.

mysql> START SLAVE;

5단계: MySQL 마스터-슬레이브 복제 테스트

이제 마스터 서버와 슬레이브 서버 모두의 구성이 완료되었습니다. 이제 구성이 작동하는지, 복제가 가능한지 확인해야 합니다.

이렇게 하려면 마스터 서버로 이동하여 MySQL 데이터베이스 서버에 로그인하세요.

sudo mysql -u root -p

샘플 데이터베이스를 만듭니다.

mysql> CREATE DATABASE replication_database;

이제 슬레이브 서버로 이동하여 다시 MySQL 데이터베이스 서버에 로그인하세요.

sudo mysql -u root -p

이제 다음 명령을 사용하여 모든 데이터베이스를 나열하십시오.

mysql> SHOW DATABASES;

생성된 데이터베이스가 표시되면 MySQL 마스터-슬레이브 복제 설정이 작동하는 것입니다.

결론

복제는 쉽게 수행할 수 있는 매우 간단한 프로세스입니다. 이 가이드에서는 RHEL 8 Linux에서 MySQL 마스터를 슬레이브로 복제하는 방법을 배웠습니다.