본문 바로가기

리눅스

MySQL 5.7에서 마스터-슬레이브(Master-Slave) 구성을 설정하는 방법

728x90
반응형

MySQL 5.7에서 마스터-슬레이브(Master-Slave) 구성을 설정하는 방법

MySQL 5.7에서 마스터-슬레이브(Master-Slave) 구성을 설정하는 방법은 다음과 같습니다.

1. 마스터 서버 설정

마스터 서버의 my.cnf 파일을 열어서 다음 구성을 추가합니다.

[mysqld]
server-id=1
log-bin=mysql-bin
binlog-format=ROW

server-id를 고유한 값으로 설정해야 하며, 이 값은 마스터 서버와 슬레이브 서버 간의 식별자로 사용됩니다. log-bin은 이진 로그 파일의 이름을 지정하며, binlog-format은 ROW 형식을 사용하는 것을 권장합니다.

마스터 서버를 다시 시작하여 설정 변경 사항을 적용합니다.

2. 슬레이브 서버 설정

슬레이브 서버의 my.cnf 파일을 열어서 다음 구성을 추가합니다.

[mysqld]
server-id=2

마스터 서버와 다른 고유한 server-id 값을 설정합니다.

슬레이브 서버를 다시 시작하여 설정 변경 사항을 적용합니다.

3. 마스터 서버에서 백업 데이터 준비

마스터 서버에서 데이터베이스를 백업하고 이를 슬레이브 서버로 전송하는 방법은 여러 가지가 있습니다. 여기서는 mysqldump를 사용하여 백업하고, 백업 파일을 슬레이브 서버로 복사하는 방법을 설명하겠습니다.

mysqldump -u <username> -p <database_name> > backup.sql

위 명령을 실행하면 backup.sql 파일에 데이터베이스 백업이 저장됩니다.

4. 슬레이브 서버에서 마스터 정보 설정

슬레이브 서버로 이동하여 다음 명령을 실행합니다.

CHANGE MASTER TO MASTER_HOST='<마스터_IP>', MASTER_USER='<마스터_사용자>', MASTER_PASSWORD='<마스터_비밀번호>', MASTER_LOG_FILE='<마스터의_binlog_파일>', MASTER_LOG_POS=<마스터의_binlog_위치>;

위 명령에서 다음 정보를 마스터 서버의 설정에 맞게 변경합니다.

  • <마스터_IP>: 마스터 서버의 IP 주소
  • <마스터_사용자>: 마스터 서버의 사용자 이름
  • <마스터_비밀번호>: 마스터 서버의 비밀번호
  • <마스터의_binlog_파일>: 마스터 서버의 현재 이진 로그 파일
  • <마스터의_binlog_위치>: 마스터 서버의 현재 이진 로그 파일의 위치

5. 슬레이브 서버 시작

슬레이브 서버에서 다음 명령을 실행하여 슬레이브 서버를 시작합니다.

START SLAVE;

이 명령을 실행하면 슬레이브 서버가 마스터 서버와의 복제를 시작합니다.

6. 마스터 및 슬레이브 상태 확인

슬레이브 서버에서 다음 명령을 실행하여 마스터 및 슬레이브 상태를 확인합니다.

SHOW MASTER STATUS;
SHOW SLAVE STATUS;

이러한 명령을 실행하면 마스터 및 슬레이브 서버의 상태 정보가 표시됩니다. 슬레이브 서버의 Slave_IO_Running 및 Slave_SQL_Running 값이 Yes로 표시되는지 확인하여 복제가 제대로 작동하는지 확인할 수 있습니다.

 

이제 MySQL 5.7에서 마스터-슬레이브 구성을 설정했습니다. 마스터 서버에서 데이터베이스 변경이 발생하면 해당 변경이 슬레이브 서버로 자동으로 복제될 것입니다.

 

728x90
반응형